2015-01-21 117 views
0

我有2個視圖中的一個在另一個之下:更新列表項選擇

<Button /> 
<ListView /> 

列表視圖已定義在XML中和其在適配器膨脹項。

list_item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/rowView" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="5dp" 
android:background="@drawable/list_item_selector" 
android:textColor="@drawable/text_color_selector" 
android:textSize="16sp" > 
</TextView> 
在適配器

if (convertView == null) { 
         inflater = (LayoutInflater) mContext 
           .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
         convertView = inflater.inflate(R.layout.list_item, null); 
        } 

    ....etc... 

現在你可以看到list_item.xmltextview有選擇添加到它。 Button這是ListView以上有一個onClick它onclick我需要刪除這些選擇器,並用一些其他顏色替換。

我該怎麼做?

編輯

我們可以刷新適配器的onClick但列表視圖是空白的(類似的知名度是無形的),但是當我觸碰這一觀點再次出現。

+0

android:background =「@ drawable/list_item_selector」 android:textColor =「@ drawable/text_color_selector」 想要刪除這兩個屬性並且想要添加自己的顏色就是您想要問的問題? – Umair 2015-01-21 10:58:59

+0

它應該onItemClick而不是onClick的權利? – 2015-01-21 11:01:07

+0

@Darkie是的,假設我已經在列表視圖中選擇了一個項目,並用選擇器(紅色)突出顯示了它,現在點擊按鈕我想刪除它並將其設置爲默認顏色(白色) – user2056563 2015-01-21 11:01:14

回答

0
button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      listView.setSelector(R.color.white); 

     } 
    }); 

EDT:

button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        adapter.notifyDataSetChanged(); 

       } 
      }); 
     } 
    }); 

希望這有助於。

+0

不,我們需要將listview帶到原始狀態,就像第一次加載所有項目一樣 – user2056563 2015-01-21 11:52:27

+0

上面的代碼也是一樣的。你有沒有試過上面的代碼?結果如何? – EagleEye 2015-01-21 11:57:03

+0

我已經嘗試過,因爲我們還沒有將選擇器設置爲listview。 – user2056563 2015-01-21 11:58:40