我想传递我在onCreate()
方法之外创建的方法的值。
但我不会使用intent()
因为使用意图我必须使用意图结构去另一个活动,但我想要传递我的价值。有没有办法可以将我的变量或方法的值传递给另一个活动,而无需进行该活动?
谢谢你的帮助。
EDIt:如何在下面的鳕鱼中使用? :
public class Main_menu extends Activity implements OnClickListener{
protected static final Context Main_menu = null;
....
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} // for oncreate()
public static void showDialog(final Context context, int id) {
final Dialog dialog = new Dialog(context,R.style.Base_Theme_AppCompat_Light);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog);
// Favorites
TextView tv_addfavorites=(TextView) dialog.findViewById(R.id.tv_addfavorites);
tv_addfavorites.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
id=id+100;
// <<< i want to pass my value (id) to another activity from here>>>
}
});
}
}
答案 0 :(得分:0)
只需将其放入sharedPreference
并使用任意活动的密钥访问它。这是怎么做的。
// create a sharedPreferences
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
// storing using key key/value pair
editor.putInt("score", 200); // here score is a key, value is 200
// commiting changes
editor.commit();
要阅读Sharedprefernce
,请执行
pref.getInt("score", 0); // mention your key in 1st paramater
这会给你价值200
。
编辑:
要访问其他活动中的值,首先需要创建sharedPreferences
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
然后,像
一样访问它int score = pref.getInt("score", 0); // mention your key in 1st paramater
如果设置或采用默认值(第二个参数),请不要忘记检查它。
if (score == 0) {
//Default value
} else {
//The value is set
}