0

好吧,有 3 个活动说Act1Act2Act3

Act1中有三个按钮,分别是But1But2But3

如果我们单击 3 个三个按钮中的任何一个,它将最终显示Act2

Act2中只有一个按钮说Done

我的问题是,当我单击 Act2 中的 Done 按钮时应该获取有关在Act1中单击的按钮的信息,以在Act3TextView中显示Act2

我想我已经说清楚了。。

我只需要知道如何将Act1中的按钮点击信息传递给Act3

我应该使用捆绑包还是其他东西?请帮我解决逻辑,如果可能的话,请提供示例代码?:)

4

3 回答 3

3

你有几个选择。

1) Hardcore 选项将是创建一个数据库并保存/查询信息。

2) 您也可以写入 sharedPreferences。 共享首选项示例

3)正如评论中提到的,如果你只是从一个活动到另一个活动,你可以仅仅 intent.putExtra("key", value)

4)最后你可以扩展应用程序 这是一个处理全局变量的好帖子。如何在Android中声明全局变量?

于 2012-06-12T13:26:32.303 回答
2

尝试使用意图

        public void onClick(View arg0) {
                Bundle bundle = new Bundle();
                bundle.putInt("BtnAID", ID);
                Intent It = new Intent();
                It.setClass(A.this, B.class);
                It.putExtras(bundle);
                startActivity(It);
               }
于 2012-06-12T14:01:05.963 回答
1

您可以使用SharedPreferences来存储按下了哪个按钮。

   SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
                Editor prefsEditor = appSharedPrefs.edit();

    Button b1 = (Button) findViewById(R.id.button1);
    b1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                prefsEditor.putString("buttonPressed", "Button1");
                prefsEditor.commit();

                }
            });

    Button b2 = (Button) findViewById(R.id.button2);
    b2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                prefsEditor.putString("buttonPressed", "Button2");
                prefsEditor.commit();

                }
            });

    Button b3 = (Button) findViewById(R.id.button3);
    b3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                prefsEditor.putString("buttonPressed", "Button3");
                prefsEditor.commit();

                }
            });

Activity您想要获取按下哪个按钮的位置:

SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
String whichButton = appSharedPrefs.getString("buttonPressed", "");
if(whichButton.equals("Button1")
 //do something
if(whichButton.equals("Button2")
 //do something
if(whichButton.equals("Button3")
 //do something
于 2012-06-12T13:32:19.277 回答