2016-07-25 38 views
0

我创建像下面的图片的listadapter和填充从HashMap中textviews这样如何设置颜色为行中的所有textviews在listadapter

  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为所有textviews设置颜色,但是我想为每一行设置独特的颜色。我不知道如何解决它。

enter image description here

+0

您必须使用您的自定义适配器! –

+0

我的意思是baseadapter或arrayadapter –

+0

显示'R.layout.list_rows'这个XML文件? –

回答

0

您为每个textView在这个布局中设置什么颜色将是行相同的颜色。

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

尝试diffrernt颜色在这里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" 
     /> 
+0

我重载list_rows视图并设置颜色像这样 'TextView text1 =(TextView)v.findViewById(R.id.text1); text1.setTextColor(Color.parseColor(textColor));' 对于所有textviews。 – Aldo

+0

@Aldo是的,这也是一个很好的选择。所以你的问题解决了吗?如果我的帖子有一点帮助,请投票并打勾表示感谢。 –

+0

我想为每个创建的行使用不同的颜色,hashmap是我构建的3个hashmaps中的1个来填充数据。 现在我只能为所有行和文字视图设置一种颜色。 – Aldo

相关问题