我有一个列表视图。我检查时收到复选框。 但是我希望在重新启动应用程序时获得相同的状态。如果有任何办法,请回复我。 我是android的新手。 我的代码如下:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//I am getting status of check box here. If I click on file check box is appearing to me. //I want to be store always for true.
String keyword = value[position];
mediaPlayer.reset();
try
{
mediaPlayer.setDataSource("/sdcard/"+keyword+".mp4");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
提前感谢。
答案 0 :(得分:1)
即使您的申请被关闭,您也可以使用SharedPreference
来保留您的价值观。在常量文件中使用默认值。
例如:
创建一个用于存储所有SharedPreferences的类。
在那个中,
private static SharedPreferences sharedPref;
public static final String PREFERENCE_DATA = "some data";
内部构造函数给出,
sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
为每个首选项值添加setter / getter方法。
public static void setPreferenceData(String data) {
if (sharedPref != null) {
Editor editor = sharedPref.edit();
editor.putString(PREFERENCE_DATA, data);
editor.commit();
}
}
public static String getPreferenceData() {
String data = "data";
if (sharedPref != null) {
status = sharedPref.getString(PREFERENCE_DATA,your variable name stored in constants);
}
return data;
}
因此,当您想要设置任何数据时,请使用setPreferenceData
,当您想要获取值时,请使用getPreferenceData
。
答案 1 :(得分:1)
您需要在活动的onPause方法中保存复选框的状态。调用onPause后,系统可以关闭您的应用程序,而不会出现Activity Documentations
中所述的任何进一步警告要保存选中的项目,您的onPause方法将如下所示:
@Override
protected void onPause() {
super.onPause();
long[] checkedBoxes = getListView.getCheckedItemIds();
setPreferenceData(checkedBoxes);
}
您只需要以允许您保存长数组的方式修改Mathews代码。
现在,您可以从onCreate方法的sharedPreferences文件中获取这些值,并在适配器代码中相应地设置复选框。