私は3つの異なるクラスを持ち、クラス1のは、クラス3のTextView
を "50"に変更します。一方で、クラス2のがクリックされたとき、私はclass3のTextViewが "0"に変更されることを望みます。2つの異なるアクティビティから別のアクティビティにデータを渡す方法
のclass1:
ImageButton button1 = (ImageButton) this.findViewById(R.id.imageButton);
if (button1 != null) {
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent passdata_intent1 = new Intent(class1.this, class3.class);
String data1 = "50";
Bundle bundle1 = new Bundle();
bundle1.putString("firstdata", data1);
passdata_intent1.putExtras(bundle1);
startActivity(passdata_intent1);
}
});
}
クラス2:
ImageButton button1 = (ImageButton) this.findViewById(R.id.imageButton);
if (button1 != null) {
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent passdata_intent2 = new Intent(class2.this, class3.class);
String data2 = "0";
Bundle bundle2 = new Bundle();
bundle2.putString("seconddata", data2);
passdata_intent2.putExtras(bundle2);
startActivity(passdata_intent2);
}
});
}
Class3に:
TextView score = (TextView) findViewById(R.id.textViewscore);
Bundle bundle1 = getIntent().getExtras();
String data_1 = bundle1.getString("firstdata");
score.setText(data_1);
Bundle bundle2 = getIntent().getExtras();
String data_2 = bundle2.getString("seconddata");
score.setText(data_2);
だから私の問題は、私は、アプリケーションを起動したときに、私はクラス2にImageButton
をクリックしてくださいということですクラス3のTextView
が変更されます。しかし、クラス1のImageButton
をクリックすると、class3では何も変わりません。
Bcozでは、score.setText();を2回設定しました。だから毎回最後のメソッド呼び出しは、あなたのテキストビュー内に最初の値のデータを表示していません – sushildlh