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

  • Cambiar el contenido de la ficha dependiendo del elemento del hilador seleccionado
  • AppWidget PendingIntent no funciona después de reiniciar el Lanzador
  • No se pudo encontrar un método onClick (View) en la clase de actividad android.view.ContextThemeWrapper para onClick handler
  • Evite que EditText consuma un evento de clic
  • OnClick PendingIntent en widget a veces no funciona
  • Cómo dejar OnClick en la función de la llamada de adaptador ListView de la actividad
  • ¿Cómo escribir el método onClick en el viewpager?
  • Interceptación de clics desde subview en Android
  • ¿Agregar un onclick a un submenú?
  • ¿Por qué se puede hacer clic en un botón cuando hay otro diseño que lo superpone?
  • Cómo hacer clic o tocar en un texto de TextView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.