0

singleChoice を使用するように設定されたリストビューがあります。私がしたいのは、デフォルトの背景色を白に、テキストの色を黒に変更することだけです。これを行う方法がわかりません。ここに私のxmlレイアウトがあります:

<ListView
    android:id="@+id/lvSpeeds"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/llToolbar"
    android:layout_below="@id/rgSpeedUnits"
    android:textColor="@android:color/black"
    android:choiceMode="singleChoice"
    android:background="#ffffff"
    android:cacheColorHint="#00ffffff"
    android:clickable="true"
    android:divider="#ff000000"
    android:dividerHeight="1dp"
    android:focusable="true"
    android:scrollingCache="true" />

編集: コードではなく、xml レイアウト ファイルのみを使用してこれを変更したいことを指摘する必要がありました。コードでこれを行う方法はすでに知っています。android.R.layout.simple_list_item_single_choice 以外のカスタム レイアウトを使用すると、アダプターの実装、バインド、さらにコードの記述などが必要になります。より多くの投稿を表示すると、xml のみを使用してテキストの色を変更することはできないようです。実際、基になるレイアウト android.R.layout.simple_list_item_single_choice にアクセスできないため、行の何かを変更することはできないようです。

4

3 に答える 3

1

これを試してください:

getviewmathodのアダプタでこのコードに挿入します。

LinearLayout mRowLayout = (LinearLayout) vi
                    .findViewById(R.id.list_item_layout);
            final TextView title = (TextView) vi
                    .findViewById(R.id.list_item);

            title.setText(Massage[position]);

            mRowLayout.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {


                                    title.setTextColor(Color.RED);

                            });

ここにlist_itemコード:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_item_layout"
android:orientation="vertical" >


<RelativeLayout android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/row_single"
                android:layout_margin="5dp">


<TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:textColor="@android:color/black"
        android:padding="10dp"
        android:textSize="16sp"

        android:layout_toLeftOf="@+id/arrow"
        android:id="@+id/list_item"/>
</RelativeLayout>
</LinearLayout>
于 2013-01-07T07:41:02.240 に答える
1

リストビューの場合、このようにAndroidセレクターを使用します

anyname.xmlで保存し、リストの背景への参照を与えます

 <selector xmlns:android="http://schemas.android.com/apk/res/android" >

     <item android:state_pressed="true" android:drawable="@drawable/about_btn_hover"></item>
    <item android:drawable="@drawable/about_btn"></item> 

</selector>

テキストの色を変更するには、resディレクトリにcolorフォルダーを追加し、xmlを作成して保存しtextchangecolor.xml 、次の行を追加します

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:color="@color/whiteColor"></item>
    <item android:color="@color/bluetxt"></item> 
</selector>

そして、テキストカラーへの参照を与えます

于 2013-01-07T07:35:54.993 に答える