Ok voici quelque chose que vous devriez savoir à propos de:
- La couleur d'arrière-plan vous mettez dans votre fichier xml est de l'activité et non de la ListItems vous essayez de définir.
- Chaque élément de la liste dispose de son propre fichier de mise en page et qui devrait être adoptée ou gonflé dans le cas où vous êtes à l'aide de complexes de mise en page pour un élément de liste.
J'ai essayer de vous l'expliquer avec un exemple de code :
*Permet de démarrer avec ListItems mise en page *: de l'enregistrer dans votre res/layout
le dossier de votre projet android avec dire list_black_text.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Definig a container for you List Item-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Defining where should text be placed. You set you text color here-->
<TextView
android:id="@+id/list_content"
android:textColor="#000000"
android:gravity="center"
android:text="sample"
android:layout_margin="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Bien une mise en page simple avec un TextView
, pour être précis. Vous devez disposer d'un identifiant attribué à TextView, afin de l'utiliser.
Maintenant à vous de l'écran/activité/chef de la mise en page, comme je l'ai dit vous êtes la définition d'arrière-plan de votre écran avec android:background
d'attribut. Je vois que vous avez défini un texte, il existe aussi bien et je soupçonne que vous essayez de définir le contenu/élément de liste là.Ce qui n'est pas du tout nécessaire.
heres votre édité mise en page,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#FFFFFF">
<ListView android:id="@android:id/list" android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<!-- REMOVED TEXT VIEW, AND KEEPING BACKGROUND WHITE -->
</LinearLayout>
Et enfin le plus important est de configurer votre adaptateur.
setListAdapter(new ArrayAdapter<String>(
this,R.layout.list_black_text,R.id.list_content, listItems));
Vous devez noter la mise en page des ressources qui sont de passage à l'adaptateur R.layout.list_black_text
et R.id.list_content
est TextView ID, nous avons déclaré. J'ai aussi changé ArrayAdapter de type Chaîne de caractères depuis son générique.
J'espère que cela explique tout. La marque de ma réponse accepté si vous êtes d'accord.
Manière désordonnée, Mais une Bonne correction rapide
Vous pouvez aussi le faire avec une solution rapide si vous ne voulez pas aller de l'avant avec le plan complexe de la définition etc.
Alors que l'instanciation de la carte de déclarer l'intérieur de la classe pour ce faire, voici l'exemple de code:
ArrayAdapter<String> adapter=new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_1, listItems){
@Override
public View getView(int position, View convertView,
ViewGroup parent) {
View view =super.getView(position, convertView, parent);
TextView textView=(TextView) view.findViewById(android.R.id.text1);
/*YOUR CHOICE OF COLOR*/
textView.setTextColor(Color.BLUE);
return view;
}
};
/*SET THE ADAPTER TO LISTVIEW*/
setListAdapter(adapter);