2016-08-13 79 views
2

我想在長按下我的ListView時突出顯示選中的行。現在我能做到這一點時,該行剛剛點擊的照片:改變在ListView中長按選擇的行的顏色Android

selected row.jpg

我怎樣才能做到這一點與長按? 我setOnItemLongClickListener功能至今:

user_data.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { 
      selected_note = adapterView.getItemAtPosition(i).toString(); 
      user_data.setItemChecked(i,true); 
      return true; 
     } 
}); 
+0

試'view.setBackgroundColor((#00FF00)' – MikeT

+0

邁克我感謝您的快速回答,但這並不起作用。你得到我想要做的對嗎? –

+0

並非完全取決於您想要更改的內容,這可能取決於佈局所包含的內容。最好爲佈局包含xml。我從ListView中取得了這個片段,我在其中設置了交替的背景顏色(在adpater的getView()方法中)。 – MikeT

回答

1

編輯:那麼這可能有助於

在您的列表視圖佈局

android:background="@drawable/key" 

創建key.xml

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
android:state_selected="true" 
android:drawable="@color/pressed_color"/> 
<item 
android:drawable="@color/default_color" /> 
</selector> 

此加入你的listview onClickListener:

listView.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) { 
     view.setSelected(true); 
     //your logic what you want to do 
    } 
}); 

定義的diff顏色在res /值/ colors.xml

而在colors.xml定義顏色爲資源 「pressed_color」 或relesed顏色

+0

Quamran謝謝,但你能告訴我怎麼寫我的java類使用drawable.xml –

+0

@AhmetUrun我已經更新了我的答案 –

+1

這是很好的解釋它的工作原理。非常感謝Qamran。 –