私は現在Android用のゲームを開発しています。クラスgameViewにテキストビューを追加したいと思います。これは私のコードです:
クラスmain.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<app.com.GameView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/game_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView
android:id = "@+id/score_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:paddingLeft="15dp"
/>
</FrameLayout>
これはクラスアクティビティです:
public class GameActivity extends Activity {
/** Called when the activity is first created. */
private app.com.GameView gameView ;
private TextView scoreText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gameView = (app.com.GameView)findViewById(R.id.game_view);
scoreText = (TextView)findViewById(R.id.score_text);
gameView.setScoreText(scoreText);
}
これはcalssGameViewです:
private int score = 0;
private TextView scoreText;
public void setscoreText(TextView tv){
this.scoreText = tv;
}
しかし、scoreText.setText( "" + score)を使用すると、エラー例外「CalledFromWrongThreadException:ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます。」でした。私を助けてください?