我正在制作这个基于小文字的RPG游戏,用户可以选择他们的名字,种族,班级等......
我有一个活动,用户键入他们想要使用的名称,然后从微调器中选择种族,类。
然后,当他们点击“创建角色”按钮时,它们全部转移到下一个活动。这非常有效。
问题出在onPause事件保存数据时。 onResume()方法不起作用?视图只显示空白。
下面是选定的代码:
(这是从其他活动中提取数据的地方)
String Name = getIntent().getStringExtra("strName");
textViewStrName.setText(Name);
String Race = getIntent().getStringExtra("strRace");
textViewStrRace.setText(Race);
String Class = getIntent().getStringExtra("strClass");
textViewStrClass.setText(Class);
(这是onPause()方法)
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
String strName = textViewStrName.getText().toString();
String strRace = textViewStrRace.getText().toString();
String strClass = textViewStrClass.getText().toString();
editor.putString("strName", strName);
editor.putString("strRace", strRace);
editor.putString("strClass", strClass);
editor.commit();
(这是onResume()方法)
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
TextView textViewStrName = (TextView) findViewById(R.id.textViewStrName);
TextView textViewStrRace = (TextView) findViewById(R.id.textViewStrRace);
TextView textViewStrClass = (TextView) findViewById(R.id.TextViewStrClass);
TextView textViewStrAlliance = (TextView) findViewById(R.id.textViewStrAlliance);
textViewStrName.setText(preferences.getString("strName", null));
textViewStrRace.setText(preferences.getString("strRace", null));
textViewStrClass.setText(preferences.getString("strClass", null));
textViewStrAlliance.setText(preferences.getString("strAlliance",
null));
运行应用程序时,我没有收到任何错误。
答案 0 :(得分:0)
如果要在活动之间使用SharedPreferences存储,请使用getSharedPreferences()而不是getPreferences。详情请见here。
另外,请勿忘记在进行更改后致电editor.commit()
。