簡體   English   中英

如何從其他活動更改標簽(Android)

[英]how to change label from another Activity (Android)

是否可以獲取應用程序中的所有活動? 我有一個全局整數變量,應該在每個活動的ActionBar中。 我以為是這樣的:

for (Layout/Activity l in (all activites)) {
    l.setTitle(variable);
}

我已經用R.layout嘗試過了,但這對我沒有用。

如何執行此操作,或者有更好的方法在所有活動標簽中顯示變量? 稍后我想從我的set方法中為全局變量調用此代碼。

是的,單身可能。 這是使用單例的方法:

這是單例課程:

    public class Singleton {
        private static Singleton mInstance = null;
        private String mTitle;

        public void setmTitle(String mtitle){
        this.mTitle=mtitle
        }

        public String getmTitle(){
        return mTitle;
        }

        public static FilterArrayList getInstance(){
            if(mInstance == null)
            {
                mInstance = new FilterArrayList();
            }
            return mInstance;
        }
    }

這是第一個活動:

public class FirstActivity extends Activity {

    @Override
   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       Singleton.mInstance.setmTitle("This is Singleton");

   }
}

在第二個活動中:

public class SecondActivity extends Activity {

   String Title;

    @Override
   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);


       Title=Singleton.mInstance.getmTitle();

   }
}

一次只運行一個活動 ,因此您無法獲得這種引用。

話雖如此,我認為要走的路是在某個類中創建一個int 靜態變量 ,並從您的活動中調用它。

// SomeClass

public static int xValue = 0;

// ActivityOne || 活動二|| 活動三...

String text = String.valueOf(SomeClass.xValue);
SomeClass.xValue = 1;

因為它是一個公共靜態變量,所以您無需實例化任何對象即可獲取/設置其值,並且可以從任何類訪問它。 此外,只要其類在內存中,此值就可以訪問,並在類卸載時銷毀。

暫無
暫無

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

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