ボタンをクリックした後に別のアクティビティに送信するAndroidプログラムがあります。主に、選択したボタンに対応するように、新しいウィンドウのテキストビューからテキストを設定したいと考えています。たとえば、ボタン Writers をクリックすると、次の新しいアクティビティには、Writers という単語が表示されるテキストビューが必要です。カテゴリの TextView アイコンに setText を設定しようとする場合を除いて、すべて正常に動作します。また、最初のアクティビティでこの変更を呼び出そうとしましたが、2 番目のアクティビティを起動する前に、機能しませんでした。また、setText を含む行にコメントを付けると、プログラムは問題なく動作することにも言及します。
private String category;
public final static String CATEGORY_MESSAGE = "e.c.project.CATEGORY";
public void onClick(View v) {
switch(v.getId())
{
case R.id.actors:
category = "actors";
playTheGame(v);
break;
case R.id.cartoons:
category = "cartoons";
playTheGame(v);
break;
case R.id.singers:
category = "singers";
playTheGame(v);
break;
case R.id.writers:
category = "writers";
playTheGame(v);
break;
}
}
public void playTheGame( View view ){
Intent intent = new Intent(this, PlayGame.class);
String category = playGameButton.getText().toString();
intent.putExtra(CATEGORY_MESSAGE, category);
// TextView tv = (TextView) findViewById(R.id.categoryTV);
// tv.setText(category);
startActivity(intent);
}
これは、2 番目のアクティビティの OnCreate メソッドです。
private TextView categoryTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String category = intent.getStringExtra(GameCategories.CATEGORY_MESSAGE);
categoryTV = (TextView) findViewById(R.id.categoryTV);
categoryTV.setText(category);
setContentView(R.layout.activity_play_game);
// Show the Up button in the action bar.
setupActionBar();
}