Android 根据用户选择将不同的字符串传递给“活动”
我有几个按钮。用户按下他选择的按钮,他/她按下的按钮中的字符串被传递到第二个活动,并以大字体显示。我设法用我的第一个按钮做到了这一点,但我不知道如何使用所有按钮,所以当他/她按下另一个按钮时,第二个活动将收到不同的字符串。我想我可以使用开关或ifs,但我不知道如何在第二个活动中识别按下了哪个按钮。目前,我的第二个活动代码如下所示:Android 根据用户选择将不同的字符串传递给“活动”,android,android-activity,Android,Android Activity,我有几个按钮。用户按下他选择的按钮,他/她按下的按钮中的字符串被传递到第二个活动,并以大字体显示。我设法用我的第一个按钮做到了这一点,但我不知道如何使用所有按钮,所以当他/她按下另一个按钮时,第二个活动将收到不同的字符串。我想我可以使用开关或ifs,但我不知道如何在第二个活动中识别按下了哪个按钮。目前,我的第二个活动代码如下所示: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s
@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"));
}
我想你在找这样的东西。如果你不懂什么,尽管问吧
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);
}
}
}
Thaks提供快速准确的响应。我查看了你的代码,它看起来像是我需要的解决方案。然而,我只是想知道我是否可以在我的应用程序中使用这段代码,还是应该重写我的代码:我已经在activity_main.xml文件中声明了我的按钮,并为这些按钮指定了onClick方法。我应该删除这些声明吗?或者用与xml声明相同的名称删除mainActivity类中的私有按钮名称就足够了吗?当然,您必须更改代码中使用的布局名称以匹配xml文件。不必为java代码中的每个按钮声明侦听器,只需在XML文件中的每个按钮上放置一个android:onClick=“onClick”。