Функциональность кнопки возврата Android - PullRequest
0 голосов
/ 04 ноября 2010

Мне немного надоела функциональность кнопки возврата устройства.

У меня есть два занятия. С 1-го я перехожу на 2-й и отображаю один элемент в массиве в ListView, и когда я нажимаю кнопку возврата, я возвращаюсь к 1-му действию.

когда я снова перехожу ко 2-му действию, чтобы снова отобразить элемент, он показывает мне предыдущие элементы в 1-м ряду, а затем тот же элемент во втором ряду.

Означает, что предыдущий элемент не удаляется, когда я нажимаю кнопку возврата.

Я использовал:

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

  }

Ответы [ 3 ]

1 голос
/ 04 ноября 2010

Я не совсем уверен, что вы пытаетесь сделать, так как вы не описываете, где на самом деле удаляете свой элемент.

Если вы действительно всегда хотите удалить элемент, который вы отметили при выходе из действия нет2, вы можете удалить его в onStop ().

Если вы не хотите запоминать состояние при выходе из действия, вам следует установить android: saveEnabled = "false" в манифесте макета.

0 голосов
/ 04 ноября 2010

Вот как можно запустить код при нажатии клавиши:

@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);
 }

После возврата к действию используйте notifyDatasetChanged в действии onResume () для обновления списка.

0 голосов
/ 04 ноября 2010

Необходимо уведомить адаптер об изменении данных с помощью notifyDataSetChanged .А адаптер скажет ListView обновить его представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...