0

ボタンをクリックした後に別のアクティビティに送信する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();
}
4

1 に答える 1