Android后退按钮功能

时间:2010-11-04 08:38:43

标签: android

我对设备后退按钮功能感到厌烦。

我有两项活动。从第一个开始到第二个并在ListView中通过数组显示一个项目,当我按下后退按钮时,我回到了第一个活动。

当我再次进入第二个活动再次显示该项目时,它会向我显示第一行中的先前项目,然后是第二行中的相同项目。

表示我按下后退按钮时没有删除上一项。

我用过:

 public void onBackPressed ()
  {
      for(int i=0; i<sub_categories.length;i++)
      {
          sub_categories[i]="";
      }
      Log.d(this.getClass().getName(), "*****************back button pressed");

  }

3 个答案:

答案 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更新列表。