我对设备后退按钮功能感到厌烦。
我有两项活动。从第一个开始到第二个并在ListView
中通过数组显示一个项目,当我按下后退按钮时,我回到了第一个活动。
当我再次进入第二个活动再次显示该项目时,它会向我显示第一行中的先前项目,然后是第二行中的相同项目。
表示我按下后退按钮时没有删除上一项。
我用过:
public void onBackPressed ()
{
for(int i=0; i<sub_categories.length;i++)
{
sub_categories[i]="";
}
Log.d(this.getClass().getName(), "*****************back button pressed");
}
答案 0 :(得分:1)
我不完全确定你要做什么,因为你没有描述你实际删除项目的位置。
如果你真的总是希望删除你在离开活动2时突出显示的项目,你可以在onStop()中删除它。
如果您不想记住离开活动时的状态,则应在布局清单中设置android:saveEnabled =“false”。
答案 1 :(得分:0)
您需要使用notifyDataSetChanged通知适配器数据已更改。适配器会告诉ListView
更新它的视图。
答案 2 :(得分:0)
以下是如何在按键上运行代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Log.d("BACK KEY PRESSED");
}
return super.onKeyDown(keyCode, event);
}
返回活动后,在活动onResume()中使用notifyDatasetChanged更新列表。