将数据从活动传输到另一个活动并重新组合变量名称

时间:2015-02-06 18:45:24

标签: android tags bundle

我有菜单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.

请帮助

1 个答案:

答案 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");