如何从另一个Activity(Android)更改标签

时间:2014-08-30 21:27:07

标签: android

可以在应用程序中获取所有活动吗?我有一个全局整数变量,应该在每个活动的ActionBar中。我想到这样的事情:

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

我已经用R.layout尝试过了,但这对我没用。

我该怎么做?还是有更好的方法在所有活动标签中显示我的变量?后来我想从我的set方法中为全局变量调用这段代码。

2 个答案:

答案 0 :(得分:0)

是的,单身人士可以做到这一点。 这是如何使用singleton:

这是Singleton类:

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

   }
}

答案 1 :(得分:0)

only one activity running at a time,所以你不能得到这种参考。

说,我认为这样做的方法是在某个类中创建一个int static variable,并从你的活动中调用它。

// SomeClass的

public static int xValue = 0;

// ActivityOne || ActivityTwo ||活动三......

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

因为它是一个公共静态变量,所以您不需要实例化任何对象来获取/设置其值,并且可以从任何类访问它。此外,只要其类在内存中,该值就可以访问,并且在类被卸载时就会销毁。