我有几个按钮的MainActivity。用户按下他选择的按钮,按下他/她按钮的字符串被传递到第二个活动,在那里以大字体显示。我设法用我的第一个按钮做了这个,但我不知道如何使用它们,所以当他/她按下另一个按钮时,第二个活动会收到不同的字符串。我想我可以使用开关或ifs,但我不知道如何识别第二个活动按下了哪个按钮。目前我的第二个活动的代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_duza_karta);
TextView displayZero = (TextView) findViewById(R.id.bigNumber);
displayZero.setText(getIntent().getExtras().getString("zero"));
}
答案 0 :(得分:1)
我认为你正在寻找这样的东西。如果不明白的话可以随意问。
public class ActivityA extends Activity implements View.OnClickListener {
public static final String TEXT_KEY = "buttontext";
private Button buttonA, buttonB, buttonC;
@Override
protected void onCreate(Bundes savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayoutA);
buttonA = (Button) findViewById(R.id.buttonA);
buttonB = (Button) findViewById(R.id.buttonB);
buttonC = (Button) findViewById(R.id.buttonC);
buttonA.setOnClickListener(this);
buttonB.setOnClickListener(this);
buttonC.setOnClickListener(this);
}
public void onClick(View v) {
String toParse = new String();
switch(v.getId()) {
case R.id.buttonA:
toParse = "button A pressed";
break;
case R.id.buttonB:
toParse = "button B pressed";
break;
case R.id.buttonC:
toParse = "button C pressed";
break;
default:
break;
}
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(TEXT_KEY, toParse);
startActivity(intent)
}
}
public class ActivityB extends Activity {
@Override
protected void onCreate(Bunde savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayout2);
String toSet = getIntent().getStringExtra(ActivityA.TEXT_KEY, null);
if(toSet != null) {
((TextView)findViewById(R.id.yourtextfield)).setText(toSet);
}
}
}