web-dev-qa-db-ja.com

リストビューのテキストの色を変更する

ListViewのテキストcolorを変更しようとしていますが、その方法がわかりません。<

    listViewObject= (ListView) findViewById(R.id.chathlist);        
    ArrayList<String> chatHistory = new ArrayList<String>();
    chatHistory.add("Msg 1");
    chatHistory.add("Msg 2");
    chatHistory.add("Msg 3");
    chatHistory.add("Msg 4");
    chatHistory.add("Msg 5");
    chatHistory.add("Msg 6");
    chatHistory.add("Msg 7");
    ArrayAdapter aa=new ArrayAdapter<String>(getApplicationContext(),
    Android.R.layout.simple_list_item_1, chatHistory);
    listViewObject.setAdapter(aa);
    listViewObject.invalidate();

色々な方法を試しましたが、色を変えることができません。それは簡単なことかもしれませんが、私はこれと戦っています。

私のXMLファイルは

  <RelativeLayout Android:id="@+id/chat_history_container"
            Android:layout_width="fill_parent" Android:layout_height="wrap_content">
            <ListView Android:paddingTop="15dip" Android:paddingBottom="15dip"
                Android:layout_width="fill_parent" Android:paddingLeft="15dip"
                Android:layout_height="wrap_content" Android:id="@+id/chathlist"
                Android:layout_gravity="center_horizontal"
                Android:layout_centerInParent="true" Android:paddingRight="15dip"
                 Android:textColor="#FF0000"  Android:listSelector="@drawable/gradient_box" >
            </ListView>
  </RelativeLayout>
13
Hussain

詳細については、以下を確認してください。

http://www.anddev.org/view-layout-resource-problems-f27/changing-listview-text-color-t14527.html

Androidのリストビューのテキストの色を変更する

ListViewでテキストの色を変更

リスト項目のレイアウトを作成し、それをListAdapterにバインドします。

11
Mark Mooibroek

問題は、デフォルトのリストアイテムレイアウト「Android.R.layout.simple_list_item_1」を使用していることです。リストビューのテキストの色を変更する場合は、正しいテキストの色で独自のリストアイテムレイアウトを作成する必要があります。

このアイテムをレイアウトフォルダーに追加できます。

<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
 Android:id="@Android:id/text1"
        style="?android:attr/listItemFirstLineStyle"
        Android:paddingTop="2dip"
        Android:paddingBottom="3dip"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content" 
    Android:textColor="#FF0000" /> 

次に、Android.R.layout.simple_list_item_1の代わりにこのアイテムを渡します

6
2bard