我的Main.xml布局有2个按钮。
我知道如何使用按钮从一个活动转到另一个活动,但我不知道如何让多个按钮进行一个活动并显示多个字符串。
实施例
main.xml中
Button1 Button2
Main2.xml
如果由Button1启动,则显示string1。
如果按钮2启动,则显示string2
我该怎么做?
主要活动包含以下代码:
Button bas1b = (Button) findViewById(R.id.bas1b);
Button bas2b = (Button) findViewById(R.id.bas2b);
bas1b.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String string1 = getResources().getString(R.string.welcome);
Intent intent1 = new Intent(Main.this, Main2.class);
intent1.putExtra("s1",string1);
startActivity(intent1);
}
});
bas2b.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String string2 = getResources().getString(R.string.Hello);
Intent intent2 = new Intent(Main.this, Main2.class);
intent2.putExtra("s2",string2);
startActivity(intent2);
}
});
Main2 Activity包含以下代码:
String s1;
String s2;
TextView bas1 = (TextView)findViewById(R.id.bas);
Intent intent1=new Intent(getIntent());
s1=intent1.getStringExtra("s1");
bas1.setText(s1);
Intent intent2=new Intent(getIntent());
s2=intent2.getStringExtra("s2");
bas1.setText(s2);
如果我只是在Main2活动中编写此代码:
Intent intent1=new Intent(getIntent());
s1=intent1.getStringExtra("s1");
bas1.setText(s1);
第一个按钮(bas1b)将起作用并显示string1。
但如果我写这段代码:
Intent intent1=new Intent(getIntent());
s1=intent1.getStringExtra("s1");
bas1.setText(s1);
Intent intent2=new Intent(getIntent());
s2=intent2.getStringExtra("s2");
bas1.setText(s2);
只需第二个按钮(bas2b)即可工作并显示string2。
我的要求是:
如果我点击bas1b,在Main2.xml中显示给我string1。
如果我点击bas2b,在Main2.xml中显示给我string2。
答案 0 :(得分:0)
In every onCLickListeners of your buttons, you will call your activity B, to pass the text to the next activity you will do this:
Intent intent = new Intent(getContext(), YOUR_ACTIVITY_B.class);
intent.putString("YOUR_TAG", "The text you want to pass to activity B");
startActivity(intent);
Then, in your Activiy B, you receive the text , like this:
Intent i = getIntent();
Bundle extras = i.getExtras();
text = extras.getString("YOUR_TAG");
答案 1 :(得分:0)
主要活动应该是
Button bas1b = (Button) findViewById(R.id.bas1b);
Button bas2b = (Button) findViewById(R.id.bas2b);
bas1b.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String string1 = getResources().getString(R.string.welcome);
Intent intent1 = new Intent(Main.this, Main2.class);
intent1.putExtra("s1",string1);
startActivity(intent1);
}
});
bas2b.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String string2 = getResources().getString(R.string.Hello);
Intent intent2 = new Intent(Main.this, Main2.class);
intent2.putExtra("s1",string2);
startActivity(intent2);
}
});
第二个活动应该是
Intent intent1=new Intent(getIntent());
s1=intent1.getStringExtra("s1");
bas1.setText(s1);
无论这两项活动如何,您发送的额外信息应具有相同的密钥(s1)