所以我要做的就是采取int" inc"和.putPutExtra(" Inc",inc)到我的第二个班叫做"设置"然后通过" SharedPreferences"保存它然后当用户按下按钮返回我的主类时,它会自动将其加载到int
中下面是用于将其从MainActivity
发送到设置类的代码int inc = 0;
Intent GoToSettings = new Intent(getApplicationContext(), settings.class);
GoToSettings.putExtra("Inc", inc);
startActivity(GoToSettings)
继承了接收它的代码
Intent intent = getIntent();
Inc = intent.getIntExtra("Inc", 10);
继承了保存" Inc"
的代码 SharedPreferences Saveinc=getSharedPreferences("IncSave", Context.MODE_PRIVATE);
SharedPreferences.Editor SaveIncE=Saveinc.edit();
SaveIncE.putInt("IncSave", Inc);
SaveIncE.commit();
表示在保存
之后收到int的代码 int inc = 1;
Intent GoToMain = getIntent();
inc = GoToMain.getIntExtra("IncSave", 1);
SharedPreferences GetSavedinc=getSharedPreferences("IncSave", Context.MODE_PRIVATE);
int IncSave=GetSavedUpCount.getInt("IncSave", 1);
inc=IncSave;
我不是它不是最优秀的布局,但我是新的并且还没有真正学会了syntex。 即时通讯也是网站的新手,所以如果我不喜欢一个规则,我很抱歉。
答案 0 :(得分:0)
如果你的int' inc'无论如何,最终都会在你的SharedPreferences中结束,你可以跳过将它传递给另一个类,然后将它写入主活动的prefs中。
当您返回主活动时,您可以在onCreate / onResume期间从共享首选项中读取它,并且您可以在设置类的构造函数中从共享首选项中读取它。
答案 1 :(得分:0)
在上一个您只想要使用SharedPreference值的活动中,只需使用它。
//int inc = 1;
//Intent GoToMain = getIntent(); //Comment all this..
//inc = GoToMain.getIntExtra("IncSave", 1);
SharedPreferences GetSavedinc=getSharedPreferences("IncSave", Context.MODE_PRIVATE);
int IncSave=GetSavedUpCount.getInt("IncSave", 1);
Log.v("My Value",IncSave+"");
答案 2 :(得分:0)
如果要在两个活动之间发送一些数据,则不应使用共享pref。 以下是首选方法: 将数据从Activity1发送到Activity2:
Intent intent = new Intent();
intent.putExtra("numberFromActivity1", 122);
startActivityForResult(intent, REQUEST_CODE);
在Activity2中,使用以下代码阅读:
Intent intent = getIntent();
int inc = intent.getIntExtra("numberFromActivity1", 0); // 122
将数据从Activity2发送到Activity1:您可以在onDestroy()或onBackpressed()方法中设置结果。
Intent intent = new Intent();
intent.putExtra("numberFromActivity2", 221);
setResult(RESULT_OK, intent);
finish(); // Finish second activity
现在在Activity1中,您可以在onActivityResult()方法中获取此数据:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_CODE) {
int numberFromActivity2 = data.getIntExtra("numberFromActivity2" , 0); // 221
}
}