我有菜单1包含20个按钮bt1,bt2,... btn当你点击一个按钮时应该转到主要活动Main1,其中应该显示标题和文本。 Main1扩展到Text1,其中标题和文本是。 所需要的是当你点击button2时,例如Main1应该显示Title2和Text2,依此类推。 我在菜单1中做到了这一点:
@Override
public void onClick(View v) {
//do common code here
Bundle bundle1 = new Bundle();
bundle1.putString("somekey1", act1);
Intent i = new Intent(getApplicationContext(), Main1.class);
i.putExtras(bundle1);
startActivity(i);
str= v.getResources().getResourceName(v.getId());
act1= Integer.toString(Integer.parseInt(str.substring(str.indexOf("bt")+2 )));
在Main1中我这样做了:
num = Integer.parseInt(getIntent().getExtras().getString("somekey1"));
stringId1 = getResources().getIdentifier("title"+num, "string", getPackageName());
stringId2 = getResources().getIdentifier("text"+num, "string", getPackageName());
if (stringId1 > 0) {
title=getString(stringId1);
text2=getString(stringId2);
}
在Text1中我这样做了:
public class Text extends Activity {
public String
title1="some title",
text1="some text",
title2="some title",
text2="some text",
titl3="333",
tex3="kar3",
title4="xxxxx",
text4="xxxxx",
title5="",
text5="",
但是所有这些都不起作用,并且即将摇摆不定,因为捆绑包没有传输数据,stringId1 = getResources().getIdentifier("title"+num, "string", getPackageName());
也返回0.
请帮助
答案 0 :(得分:1)
传递意图,如下所示:
Intent intent = new Intent(getApplicationContext(),Main1.class);
intent.putExtra("Key1", "Value1");
intent.putExtra("Key2", "Value2");
startActivity(intent);
在Main1.class的oncreate()中:
Intent dataIntent = getIntent();
String value1 = dataIntent.getStringExtra("Key1");
String value2 = dataIntent.getStringExtra("Key2");