ArrayAdapter<DummyContent.DummyItem> con android.R.layout.simple_list_item_activated_2

StackOverflow https://stackoverflow.com//questions/24062698

  •  27-12-2019
  •  | 
  •  

Pregunta

Actualmente estoy usando el flujo maestro/detalle en mi proyecto de aplicación de Android.Ahora me gustaría no solo crear una lista con elementos con una sola cadena.Me gustaría cambiar la clase DummyItem estándar a lo siguiente:

     /**
     * A dummy item representing a piece of content.
     */
    public static class DummyItem {
        public String id;
        public String content;
        public String subtext; //Added subtext variable here
        public DummyItem(String id, String content, String subtext) {
            this.id = id;
            this.content = content;
            this.subtext = subtext; //And here
        }

        @Override
        public String toString() {
            return content;
        }
    }

En la clase ItemListFragment tengo esta línea de código predefinida para crear el adaptador para la lista:

    setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(), 
                   android.R.layout.simple_list_item_activated_1, 
                   android.R.id.text1, 
                   DummyContent.ITEMS));

Pero me gustaría cambiar el android.R.layout.simple_list_item_activated_1 a android.R.layout.simple_list_item_activated_2

mientras tengo android.R.id.text1 como contenido y android.R.id.text2 como mi subtext-variable.

¿Existe la posibilidad de hacer esto?

¿Fue útil?

Solución

Sobrescriba el método getView() de ArrayAdapter.Debería ser algo como esto:

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    //super call to create / recycle the view
    View view = super.getView(position, convertView, parent);

    TextView textView1 = (TextView) view.findViewById(android.R.id.text1);
    textView1.setText(getItem(position).getContent());

    TextView textView2 = (TextView) view.findViewById(android.R.id.text2);
    textView2.setText(getItem(position).getSubtext());

    return view;

}

Aquí hay más lecturas sobre ListViews, incluidos ejemplos:http://www.vogella.com/tutorials/AndroidListView/article.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top