2

ベースアダプターを使用せずにリストビューのテキストの色を変更するのを手伝ってくれませんか。オプション ボタンの表示に android.R.layout.simple_list_item_single_choice を使用しましたが、デフォルトではリスト ビュー内のテキストが白色で表示されているため、黒色に変更する必要があります。カスタム アダプターを使用せずにテキストを黒に変更する方法はありますか。オプションボタンでリストビューを作成するために使用したコードを貼り付けました。ここに画像の説明を入力

  ListView lvCheckBox = (ListView)findViewById(R.id.lvCheckBox);
            save = (ImageView)findViewById(R.id.button1);
            lvCheckBox.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
            lvCheckBox.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice, values));
4

6 に答える 6

1

ListView アイテムのデフォルト レイアウトを変更するだけです

それ以外の :

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_listview_item, list);

使用する

adapter = new ArrayAdapter<String>(this, R.layout.customLayout, list);

および customLayout.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/black"
    android:textSize="20dp" />
于 2012-08-03T10:42:44.823 に答える
0

デフォルトの代わりにandroid.R.layout.simple_list_item_single_choice、テキストビューで構成されるカスタムxmlファイルを使用して、このxmlファイルをArrayAdapterに渡すことができます。このようにして、テキストビューの色を簡単に変更できます。ただし、柔軟性を高めるためにカスタムアダプタを使用することをお勧めします。

于 2012-08-03T10:50:23.860 に答える
0

ここに画像の説明を入力

このコードを使用します。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.custom_spinner_textview_layout, from);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerAlarmTone.setAdapter(adapter);

Xml レイアウト ファイル

< ?xml version="1.0" encoding="utf-8"?>
<TextView 
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="16.0sp" 
    android:textColor="@color/black"
    android:gravity="left"/>
于 2012-08-03T10:49:28.053 に答える
0

はい!あなたは正しいです、私はあなたのコードを試しました。デフォルトでは、白​​色の背景と Textcolor も表示されます。それを押すと、セレクターの色のためにテキストが表示されます。それが私たちに見えるようになります。上記の回答を受け入れます。ただし、特定の部分のみをカスタマイズできます。別のレイアウトまたはテキストビューを作成する必要はありません。

ListView lvCheckBox = (ListView)findViewById(R.id.lvCheckBox);
                save = (ImageView)findViewById(R.id.button1);
    lvCheckBox.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

    lvCheckBox.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, values) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                CheckedTextView checkedTxtView = (CheckedTextView) super.getView(position, convertView, parent);

                String yourValue = values.get(position);
                checkedTxtView.setText(yourValue);
                checkedTxtView.setTextColor(this.getResources().getColor(android.R.color.black));
                return textView;
            }

    });

サンプルの hello world プロジェクトを作成し、これを試しました。わたしにはできる。あなたの仕事を達成するのに役立つことを願っています。

もう 1 つ、CheckedTextView が必要なので、android.R.layout.simple_list_item_single_choice を使用しています。上記のいくつかの例に従ってカスタム レイアウトを作成する場合、それらのカスタム レイアウト デザインで CheckedTextView を使用する必要があります。上記の例では、単純なテキストビューのみを使用しているためです。だからそれを気にしてください。

于 2015-01-04T11:41:50.017 に答える
-1

解決策の1つは、リストビューの背景色を黒に変更すると、テキストが自動的に表示されるようにすることです。または、リストビューでカスタムアダプタを設定する必要があります。カスタムレイアウトを膨らませると、必要に応じてテキストビューの色を設定できます。

于 2012-12-13T07:30:08.057 に答える