簡體   English   中英

如何獲得有關按鈕單擊第一活動的信息並在第三活動中使用它的信息? -安卓

[英]How to get information about a button click on 1st activity and use it in the 3rd activity? - android

嗯,有3個活動,分別是Act1Act2Act3

Act1中 ,有三個按鈕,分別是But1But2But3

如果單擊三個三個按鈕中的任何一個,它將最終顯示Act2

Act2中 ,只有一個按鈕說完成

我的問題是,當我在ACT2 完成按鈕單擊我應該得到哪些被點擊ACT1顯示ACT2ACT3一個TextView按鈕的信息。

我想我已經說清楚了..

我只需要知道如何將Act1中的按鈕單擊信息傳遞給Act3

我應該使用捆綁包還是其他東西? 請幫我弄清楚邏輯,如果可能的話還提供示例代碼? :)

您有幾種選擇。

1)Hardcore選項將是創建一個數據庫並保存/查詢信息。

2)您也可以寫入sharedPreferences。 SharedPrefExample

3)如評論中所述,如果您僅從一種活動到另一種活動進行交談,則只需intent.putExtra(“ key”,value)

4)最后,您可以擴展Application這是一篇有關全局變量的好文章。 如何在Android中聲明全局變量?

嘗試使用意圖

        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);
               }

您可以使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM