Завершить или уничтожить активность при нажатии кнопки «Список» после запуска другой операции

У меня есть Activity ListActivity с Listview, а другой класс CustomListAdapter расширяет BaseAdapter.

Код в ListActivity

customAdapter = new CustomListAdapter(list); TripList.setAdapter(customAdapter); 

В getView () CustomListAdapter я раздуваю макет. Есть кнопка, и при нажатии этой кнопки я начинаю другую деятельность.

Я хочу закончить ListActivity после начала другого действия. С приведенным ниже кодом Мое приложение рушится.

 ((Activity) ctx).finish(); 

Журнал

 01-05 11:06:04.319: E/AndroidRuntime(4319): FATAL EXCEPTION: main 01-05 11:06:04.319: E/AndroidRuntime(4319): Process: com.example.myapp, PID: 4319 01-05 11:06:04.319: E/AndroidRuntime(4319): java.lang.NullPointerException 01-05 11:06:04.319: E/AndroidRuntime(4319): at com.example.myapp.CustomListAdapter$1.onClick(CustomListAdapter.java:71) 

Пожалуйста, помогите мне.

Сначала вы можете разместить свой Logcat .

FLAG_ACTIVITY_CLEAR_TOP

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

FLAG_ACTIVITY_NEW_TASK

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

Вы можете использовать Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK

Наконец , должно быть,

  Intent intent = new Intent(ctx, NewActivityName.Class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(intent); 

Замените название своей деятельности новым действием.

 startActivity(new Intent(ctx,NewActivity.class)); ((Activity) ctx).finish(); 

Поскольку я начинал деятельность внутри getView () так ((Activity) ctx).finish(); Не работает. Я просто изменил его на ((Activity)parent.getContext()).finish(); И он работал