通过单例模式实现参数传递
单例模式的特点就是可以保证系统中一个类有且只有一个实例。这样很容易就能实现,
在A中设置参数,在B中直接访问了。这是几种方法中效率最高的。
1, 定义一个单实例的类
//单例模式
public class XclSingleton {
//单例模式实例
private static XclSingleton instance = null;
//synchronized 用于线程安全,防止多线程同时创建实例
public synchronized static XclSingleton getInstance() {
if (instance == null) {
instance = new XclSingleton();
}
return instance;
}
final HashMap<String, Object> mMap;
public XclSingleton() {
mMap = new HashMap<>();
}
public void put(String key, Object value) {
mMap.put(key, value);
}
public Object get(String key) {
return mMap.get(key);
}
}
2, 设置参数
//通过单例模式传参数的例子
XclSingleton.getInstance().put("key1", "value1");
XclSingleton.getInstance().put("key2", "value2");
Intent intentSingleton = new Intent();
intentSingleton.setClass(MainActivity.this,
SingletonActivity.class);
startActivity(intentSingleton);
3,接收参数
this.setTitle("单例模式例子");
//接收参数
HashMap<String, Object> map = XclSingleton.getInstance().mMap;
String sResult = "map.size() =" + map.size();
//遍历参数
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object value = entry.getValue();
sResult += "\r\n key----> " + (String) key;
sResult += "\r\n value----> " + (String) value;
}
TextView tv = findViewById(R.id.tv);
tv.setText(sResult);