Fragmento onListItemClick

Mi onListItemClick nunca llama cuando hago clic en el elemento, la clase se extiende fragmento no listfragment, porque tengo otros elementos de vista en este fragmento que no es la lista, así que cómo implementar onlistitemclick en la clase extiende el fragmento?

clase

public class MainFiles extends Fragment { ArrayList<String> items; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.files, container, false); Button button_up = (Button) view.findViewById(R.id.button_up); items = new ArrayList<String>(); MyAdapter adapter = new MyAdapter(getActivity(), R.layout.row, items); ListView myList = (ListView) view.findViewById(R.id.list); myList.setAdapter(adapter); return view; } public void onListItemClick(ListView l, View v, int position, long id) { } } 

4 Solutions collect form web for “Fragmento onListItemClick”

Agregue explícitamente OnItemClickListener a su ListView

 myList.setOnItemClickListener(this); 

También debe asegurarse de que su Fragment implementa el tipo OnItemClickListener :

 public class MainFiles extends Fragment implements OnItemClickListener 

Otra forma es crear una subclase dedicada de OnItemClickListener para pasar a ListView :

 myList.setOnItemClickListener(new MyOnItemClickListener()); /* ... */ private class MyOnItemClickListener implements OnItemClickListener { /* ... */ } 

Se olvida de configurar setOnItemClickListener

después myList.setAdapter(adapter); Agrega esto:

 myList.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position,long id){ new File(items.get(position)); fileList(path.get(position)); showPath(current_path); } }); 

Tengo el listener del instrumento en el fragmento como esto

 public class DetailsFragment extends Fragment implements OnItemClickListener { private ListView listView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_details, container, false); // list view listView = (ListView) root.findViewById(R.id.listView); listView.setListAdapter(new DetailsAdapter(getActivity(), list)); listView.setOnItemClickListener(this); return root; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // handle click here } } 

Su fragmento tiene que extender ListFragment, puede tener más cosas en su diseño que no sea una lista si su diseño tiene un listview con id = android: id / list

  • Android se congela cuando hay una NullPointerException en OnClickListener.onClick (otras tareas no se pueden iniciar)
  • Cómo acceder al botón dentro de "incluir" el diseño
  • Android MediaPlayer Singleton
  • Android ListView con elementos que se pueden hacer clic en sus filas provoca problemas de desplazamiento continuo
  • ¿Cómo implementar el botón con doble prensa corta y continua?
  • Android.os.FileUriExposedException: file.jpg expuesto más allá de la aplicación a través de ClipData.Item.getUri ()
  • cambiar el color de fondo de ListView desactiva el color de resaltado
  • Botón setonclicklistener error
  • Cambiar el contenido de la ficha dependiendo del elemento del hilador seleccionado
  • Cómo poner un oyente onclick dentro de un servicio
  • Forzar un elemento ListView para permanecer "presionado" después de haber hecho clic?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.