Salve ragazzi,
ho una listView nella mia app (questo è il suo layout xml, list_layout.xml):
Ogni elemento della mia listView è composto da due textView (questo è il layout dell'elemento i-esimo della lista, custom_row.xml):codice:<?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/arrayList" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textFilterEnabled="true" android:scrollbars="vertical" android:drawSelectorOnTop="true"></ListView>
codice:<?xml version="1.0" encoding="utf-8"?> <TableLayout android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/row_container" android:padding="5px" android:layout_height="wrap_content" android:background="@color/white" android:shrinkColumns="0"> <TableRow> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/description" android:id="@+id/description" android:textColor="@color/black" android:scrollHorizontally="true" android:singleLine="true"></TextView> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/result" android:textColor="@color/grey" android:maxLines="1" android:scrollHorizontally="true"></TextView> </TableRow> </TableLayout>
Ho quindi creato una activity, per la visualizzazione della mia lista, settando come layout appunto quello definito dal file list_layout.xml e utilizzando un arrayAdapter per gestire il contenuto della mia lista (Matches.java):
...codice:public class Matches extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //set layout setContentView(R.layout.list_layout); // obtain reference to listview ListView listView = (ListView) findViewById(R.id.arrayList); //listView.setBackgroundResource(R.drawable.list_selector); ArrayAdapter<Match> arrayAdapter = new ArrayAdapter<Match>( this, R.layout.custom_row, R.id.description, createItems()) { @Override public View getView (int position, View convertView, ViewGroup parent){ Match item = getItem (position); LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(R.layout.custom_row, null); TextView description = (TextView)rowView.findViewById(R.id.description); TextView result = (TextView)rowView.findViewById(R.id.result); description.setText(item.description + " Risultato: " + item.result ); result.setText(item.date + " " + item.hour); return rowView; } }; listView.setAdapter(arrayAdapter);
La mia domanda è: come posso fare in modo di modificare il colore di background (ed eventualmente anche il colore del testo) degli elementi della lista al click e al focus?
Quello che accade è che, selezionando o cliccando un elemento della lista, gli viene dato un colore di background di default (arancio), impedendo la visualizzazione del testo..
Spero di essere stato chiaro, chiedetemi pure ogni altro chiarimento
Grazie per l'aiuto

LinkBack URL
About LinkBacks
..
Rispondi quotando
