texto tamaño studio simple personalizado letra item ejemplo editar color change cambiar atributos android android-listview radio-button android-arrayadapter

android - tamaño - texto Color ArrayAdapter con simple_list_item_single_choice



listview personalizado android studio ejemplo (2)

estoy creando una lista de visualización usando el adaptador de matriz. este es mi código

listView = new ListView(context); ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_single_choice, choice); listView.setAdapter(adapter);

esto proporciona un color negro para el texto. Necesito cambiar el color del texto a color azul. Cómo podemos cambiar esto. utilicé mi diseño con el adaptador de matriz. y este es el código

listView = new ListView(context); ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,layout.my_single_choice, choice); listView.setAdapter(adapter);

y el código para my_single_choice.xml se da a continuación

<?xml version="1.0" encoding="utf-8"?> <RadioButton xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:id="@+id/my_choice_radio" android:layout_height="match_parent" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:text="Option" style="@style/ListItemTextColor" />

y esto no funciona, puedo seleccionar todos mis botones de radio. y cuando clickListener no funciona, ...? cómo podemos resolverlo


Si realmente desea mantenerlo simple y no desea agregar ningún diseño o archivo nuevo, puede hacer algo como esto para cambiar el color de simple_list_item s.

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, listItems) { @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textView = (TextView) super.getView(position, convertView, parent); // Set the color here textView.setTextColor(Color.parseColor("#000000")); return textView; } }; listView.setAdapter(adapter);


Hay algunos enfoques que podrían hacerse para usar esto. Las formas más comunes de hacer esto son las siguientes:

  • Usar una vista de lista personalizada ( http://www.androidpeople.com/android-custom-listview-tutorial-part-1 )
  • Usar un diseño personalizado (no dentro del espacio de nombres android.R)

    En su opinión, use este código:

    <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tv" android:textColor="@color/font_content" android:padding="5sp" android:layout_width="fill_parent" android:background="@drawable/rectgrad" android:singleLine="true" android:gravity="center" android:layout_height="fill_parent"/>

    En tu clase, usa este código:

    ListView lst = new ListView(context); String[] arr = {"Item 1","Item 2"}; ArrayAdapter<String> ad = new ArrayAdapter<String (context,R.layout.mytextview,arr); lst.setAdapter(ad);

  • Mi favorito, anulando el método getView del ArrayAdapter

    ListView listView = (ListView) this.findViewById(R.id.listView); listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, MobileMuni.getBookmarkStore().getRecentLocations() ) { @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textView = (TextView) super.getView(position, convertView, parent); String currentLocation = RouteFinderBookmarksActivity.this.getResources().getString(R.string.Current_Location); int textColor = textView.getText().toString().equals(currentLocation) ? R.color.holo_blue : R.color.text_color_btn_holo_dark; textView.setTextColor(RouteFinderBookmarksActivity.this.getResources().getColor(textColor)); return textView; } });

Además, este fue el resultado de una discusión desde aquí: Cómo cambiar el color del texto del elemento simple de la lista