Finalizar o destruir la actividad al hacer clic en el botón Listview después de iniciar otra actividad

Tengo una Activity ListActivity teniendo Listview y otra clase CustomListAdapter extiende BaseAdapter.

Código en ListActivity

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

En getView () de CustomListAdapter inflado un diseño. hay un botón y en el tecleo de ese botón estoy comenzando otra actividad.

Quiero terminar ListActivity después de iniciar otra actividad. Con el siguiente código Mi aplicación se está bloqueando.

 ((Activity) ctx).finish(); 

Registro es

 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) 

Por favor, ayúdame.

Al principio, Usted puede publicar su Logcat .

FLAG_ACTIVITY_CLEAR_TOP

Si se establece, y la actividad que se está iniciando ya se está ejecutando en la tarea actual, entonces en lugar de iniciar una nueva instancia de esa actividad, todas las demás actividades en la parte superior de la misma se cerrará y esta Intención se entregará a la (ahora en arriba) actividad antigua como una nueva intención.

FLAG_ACTIVITY_NEW_TASK

si se utiliza para iniciar la actividad raíz de una tarea, se llevará cualquier instancia en ejecución de esa tarea al primer plano y, a continuación, desactive a su estado raíz.

Puede utilizar Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK

Por último , debe ser,

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

Reemplace el nombre de su actividad por una nueva actividad.

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

Como estaba empezando una actividad dentro de getView () así que ((Activity) ctx).finish(); No estaba trabajando. Acabo de cambiarlo a ((Activity)parent.getContext()).finish(); y estaba funcionando

  • Cómo actualizar ListView en fragmento que se rellena con BaseAdapter?
  • Android: BaseAdapter y getLayoutInflater en un archivo de clase separado
  • Android: la imagen en el listview parpadea mientras llama a notifyDataSetChanged en algunos dispositivos
  • Android: BaseAdapter no muestra elementos
  • SearchView en ListView con un adaptador personalizado
  • notifyDataSetChanges para el adaptador de lista, modifique sólo parte de la vista
  • ¿Cómo elimino un elemento de mi adaptador de base personalizado?
  • GridView mediante Custom ArrayAdapter
  • Usando Butter Knife en Custom BaseAdapter SubClass Resultados en el error "Unable to inject views"
  • Filtrar un ListView con BaseAdapter filtra el texto no las imágenes
  • Cómo personalizar listview con baseadapter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.