¿Cómo hacer que el primer elemento de un ListView se seleccione como predeterminado en el inicio?

Hay un ListView en mi aplicación y el ListView tiene un selector. Quiero hacer que el primer elemento de este ListView se seleccione como predeterminado en el inicio mismo de la aplicación , ¿cómo? ¿Puede alguien dar algunos consejos? Muchas gracias.

Puedes hacerlo por

yourListView.setSelection(0); yourListView.getSelectedView().setSelected(true); 

Espero que esto ayude

 yourlist.setItemChecked(position,true) 

Este trabajo para mí. Espero que esto ayude. 🙂

  @Override public View getView(int position, View convertView, ViewGroup parent) { // do someting... if(position == 0){ mListView.performItemClick(convertView, 0, 0); } } 

Ahora he encontrado otra buena manera de implementar esto.

  • En primer lugar, debe establecer ListView android: choiceMode = singleChoice
  • En segundo lugar, seguir adelante como sigue,

      int defaultPositon = 0; int justIgnoreId = 0; mListView.setItemChecked(defaultPositon, true); mListView.performItemClick(mListView.getSelectedView(), defaultPositon, justIgnoreId); 

Creo que esto funcionará como hemos dado 0 índice de array a listView

 ListView.setSelection(0); 
 //put the below code in get view function if(position==0) { convertView.setSelected(true); } 

Cree un onItemClickListener luego use este fragmento, rellenando los valores apropiados:

 listView.performItemClick(View view, int position, long id); 

Vea los documentos para más detalles.

Puede llamar a listview.setSelection(0); . Sólo asegúrese de que está llamando a esto después de poplulating su List . Si lo llama antes de rellenar su List , no funcionará, ya que no tendrá ningún dato en ese momento.

Esto funciona si desea hacer clic en él para obtener el manejo de eventos adicionales realizados:

 listView.getAdapter().getView(position, null, null).performClick(); 

Puedes arreglarlo así.

 //set list adapter, then lv.setItemChecked(1, true);//position 1 lv.setSelection(1);//position 1 

Actualizar el diseño XML con una sola opción.

 <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/list_item_background" android:cacheColorHint="#FFFFFF" android:choiceMode="singleChoice" android:dividerHeight="1dip" > </ListView> 

Y establecer listview de fondo XML como list_item_background.xml,

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bg_list_default" android:state_activated="false"/> <item android:drawable="@drawable/bg_list_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/bg_list_pressed" android:state_activated="true"/> 

Abajo solución funciona para mí:

Configuración de la Id. De fondo / vista en obtener Ver y utilizar setOnItemClickListener de la Vista de lista

 @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.listitems, null); } ListItem m = items.get(position); if (m != null) { TextView txt = (TextView)v.findViewById(R.id.textView); txt.setText(m.Item); } // set selected item LinearLayout ActiveItem = (LinearLayout) v; v.setId(position); if (position == GetDeviceDetails.selectedsize) { ActiveItem.setBackgroundColor(0xFF7F8184); } return v; } 

En la Actividad de Crear:

 listView1.setOnItemClickListener( new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> adapter, View v, int position, long id) { adapter.findViewById(GetDeviceDetails.selectedsize).setBackgroundColor(0xFFFFFFF); GetDeviceDetails.selectedsize = position; adapter.findViewById(position).setBackgroundColor(0xFF7F8184); Log.d("Selected Id", "" + v.getId()); Log.d("find Selected Id", "" + adapter.findViewById(0)); } }); listView1.setSelection(0); listView1.setItemChecked(0, true); 

ESTO TRABAJA PARA ME.You tiene que hacer el adaptador de encargo.

  First Create Modal Class public class FilterBean { String filter_catagory; boolean isSelected; public boolean isSelected() { return isSelected; } public void setSelected(boolean selected) { isSelected = selected; } public String getFilter_catagory() { return filter_catagory; } public void setFilter_catagory(String filter_catagory) { this.filter_catagory = filter_catagory; } } In Adapter Class @Override public View getView(final int position, View convertView, ViewGroup parent) { convertView = layoutInflater.inflate(R.layout.size_name_indicator, null); txt = (TextView) convertView.findViewById(R.id.key_textView); txt.setText(getItem(position).getFilter_catagory()); if(getItem(position).isSelected()){ txt.setBackgroundColor(context.getResources().getColor(R.color.transparent)); }else { txt.setBackgroundColor(context.getResources().getColor(R.color.colorWhite)); } return convertView; } public void updateNameBean(String key,boolean checked) { for(int i=0;i<getCount();i++) { FilterBean filterBean = getItem(i); if(filterBean.getFilter_catagory().equals(key)) { filterBean.setSelected(checked); }else { filterBean.setSelected(false); } } notifyDataSetChanged(); } In Filter Activity or Fragment filter_listView.setAdapter(filterNameAdapter); filterNameAdapter.updateNameBean(filterNameAdapter.getItem(0).getFilter_catagory(),true); filter_listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { String key = filterNameAdapter.getItem(position).getFilter_catagory(); filterNameAdapter.updateNameBean(filterNameAdapter.getItem(position).getFilter_catagory(),true); } }); 
  • ExpandableListview Como TreeView Android
  • Cómo ordenar una vista de lista en orden alfabético
  • Android ListView con 2 TextViews por artículo
  • El contenido del adaptador ha cambiado pero ListView no recibió una notificación, nada actualizado en el fondo
  • Lista de estilo de Gmail
  • Android adapter.getItem (position) .getItemId () no funciona (El método getId () no está definido para el tipo Object)
  • Crash al devolver el fragmento como una pestaña. Ver con la misma ID
  • ListView dentro de un fragmento utilizado en un ViewPager no se comporta como se esperaba
  • No se puede encontrar el recurso, No se identifica el elemento que falta
  • ¿Está todavía utilizando AsyncTask para cargar elementos de listView en segundo plano?
  • Cómo obtener el texto del elemento seleccionado listview cuando se hace clic en el botón AlertDialog
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.