为了在我的 ActionBar 中维护导航信息,我想使用下面的静态类将这些信息(字符串 + 上下文)存储在 HashMap 中:
public class NavigationBarContainer {
public static HashMap<String, Context> hashTest;
}
但是当我通过 3 个活动添加一个引用这个常量类的值时,我只得到最后一个条目:在每个活动上,我的 HashMap 都有最后一个条目值,并且 HasMap 大小始终等于 1..
这就是我在第一个活动中访问它的方式:
public class HomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
HashMap<String, Context> ctxHash = new HashMap<String, Context>();
NavigationBarContainer.hashTest = ctxHash;
ctxHash.put("key1", getApplicationContext());
NavigationBarContainer.hashTest = ctxHash;
}
}
我如何在其他 2 项活动中添加价值:
public class Myctivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
HashMap<String, Context> ctxHash;
ctxHash = NavigationBarContainer.hashTest;
ctxHash.put("key2", getApplicationContext());
NavigationBarContainer.hashTest = ctxHash;
}
}
我尝试了一些技巧来以不同的方式访问数据,但我总是遇到同样的问题..需要帮助吗?
编辑 :
这已经解决了,但实际上,我正在做一些其他更难的技巧。我制作了一个超级类 Activity,它实现了 ActionTab 侦听器,并且每次我进入其他 Activity 时,我都会通过我的静态 HashMap 映射这个侦听器,但它不起作用。如果我不解决它,我会再发一个帖子。
谢谢