Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android:如何在应用程序启动时恢复android listview状态_Android_Listview - Fatal编程技术网

android:如何在应用程序启动时恢复android listview状态

android:如何在应用程序启动时恢复android listview状态,android,listview,Android,Listview,退出应用程序后如何在android listview中保存单击状态,并在应用程序启动时还原状态。应用程序应能够侦听listview上的单击事件并保存状态,当应用程序关闭时,它保存单击状态,然后在重新启动时还原。 我尝试过使用getView,但它似乎没有达到预期效果。请帮助您需要做的是,您必须在活动中覆盖以下方法 @Override public void onBackPressed() { super.onBackPressed(); } 并使用SharedReference保存按钮的状态,

退出应用程序后如何在android listview中保存单击状态,并在应用程序启动时还原状态。应用程序应能够侦听listview上的单击事件并保存状态,当应用程序关闭时,它保存单击状态,然后在重新启动时还原。
我尝试过使用getView,但它似乎没有达到预期效果。请帮助

您需要做的是,您必须在活动中覆盖以下方法

@Override
public void onBackPressed() {

super.onBackPressed();
}
并使用SharedReference保存按钮的状态,下次输入活动时,从SharedReference获取值,并相应地设置按钮的启用状态

例如

private void SavePreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("state", button.isEnabled());
editor.commit();   // I missed to save the data to preference here,. 
}

private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
Boolean  state = sharedPreferences.getBoolean("state", false);
button.setEnabled(state);
}    
 @Override
 public void onBackPressed() {

    SavePreferences();
    super.onBackPressed();
}



onCreate(Bundle savedInstanceState){

LoadPreferences();
//just a rough sketch of where you should load the data
}

到目前为止你尝试了什么?我不明白你想告诉我们什么,请告诉我们你的代码你想实现什么?您是否正在尝试将listview的状态保存到关闭应用程序之前它停止的位置?或者您只是想在应用程序启动时重新绘制listview的所有视图?请显示您的代码。实际上,我试图实现的是,我有一个listview,因此每当单击一行时,它都应标记为已读,并具有与其他未读(未单击的行)不同的背景颜色。当应用程序关闭并重新启动时,它应该能够显示已读和未读的信息,你对此有何想法?这就是消息传递应用程序的工作方式,或者whatsapp,read和unread消息。我还没有实现它,但很快就会实现:)