android:如何将int值传递给另一个方法的活动?

时间:2015-04-13 17:16:45

标签: android

我想传递我在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>>>
}
});
}
}   

1 个答案:

答案 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
}