如何为listadapter中的所有textview设置颜色

时间:2016-07-25 13:38:28

标签: android listview listadapter

我创建了一个listadapter,如下图所示,并填充hashmap中的textviews,如下所示

          HashMap<String, String> kursiShitje = new HashMap<>();
            for (int i = 0; i < 6; i++) {
                kursiShitje.put("text_1", "Shitje");
                JSONObject c = values.getJSONObject(i);
                String name = c.getString(TAG_SELL);
                kursiShitje.put("text_" + (i + 2), name);
            }

这是listadapter:

ListAdapter adapter = new SimpleAdapter(
                MainActivity.this, kursiKembimit,
                R.layout.list_rows, new String[]{"text_1", "text_2", "text_3", "text_4", "text_5", "text_6", "text_7"},
                new int[]{R.id.text1, R.id.text2, R.id.text3, R.id.text4, R.id.text5, R.id.text6, R.id.text7}) {

list_rows.xml

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rows"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:paddingBottom="0dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp">

    <TextView
        android:id="@+id/text1"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/text2"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/text3"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/text4"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/text5"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/text6"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/text7"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />
</LinearLayout>

问题是如何为列表中的每一行设置唯一的文本颜色。我可以通过覆盖getView为所有textview设置颜色,但我想为每一行设置唯一的颜色。我无法弄清楚如何解决它。

enter image description here

1 个答案:

答案 0 :(得分:0)

您为此布局中的每个textView设置的颜色与行中的颜色相同。

您已为所有文字视图设置了不同颜色的White color

在这里尝试diffrernt color android:textColor="@color/BLUE"并查看结果。

 <TextView
        android:id="@+id/text4"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-bold"
        android:gravity="right"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold"
        />