如何根据条件将动态图标添加到Listview?

时间:2013-06-27 09:43:58

标签: android android-listview

我想在listview中添加动态图标。将动态图标应用于listview取决于来自服务器的数据,因此数据如下所示

  

[{ “名称”: “”, “ID”: “8”, “状态”: “一个”},   { “名”: “A”, “ID”: “9”, “状态”: “二”},   { “名称”: “A”, “ID”: “10”, “状态”: “3”}]

假设状态为“1”然后将颜色应用于View元素为红色且状态为“2”然后将颜色应用于视图为蓝色等等,以下是我的代码结构

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<View
    android:id="@+id/bangDetVwStatusIcon"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_marginLeft="5dp"
    android:background="@color/booked_color" />

<TextView
    android:id="@+id/bangDetTitle"
    android:layout_width="240dp"
    android:layout_height="32dp" />

<ImageView
    android:id="@+id/bangDetImgVwNavigationDn"
    android:layout_width="wrap_content" />

代码     ListAdapter bunglowAdapter = new ArrayAdapter(getApplicationContext(),                     R.layout.expandable_list_item,R.id.bangDetTitle,bungLowList){

            public View getView(int position, View convertView,
                    ViewGroup parent) {
                View v = super.getView(position, convertView, parent);

                statusIcon = (View)v.findViewById(R.id.bangDetVwStatusIcon);

                if (getItem(position).equals("booked")) {


                    statusIcon.setBackgroundColor(getResources().getColor(R.color.blue));
                }
                if (getItem(position).equals("onhold")) {


                    statusIcon.setBackgroundColor(getResources().getColor(R.color.green));
                }
                if (getItem(position).equals("available")) {


                    statusIcon.setBackgroundColor(getResources().getColor(R.color.red));
                }

                return v;
            }   
        };

我尝试了很多但没有实现我的目标。任何人都有解决方案然后请建议我。

提前致谢

0 个答案:

没有答案