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