Android:如何在用户选择列表视图中的项目时更改背景颜色。

时间:2016-03-26 13:28:06

标签: android listview select background

当用户在列表视图中选择项目时,我的背景颜色有问题。当用户按下它时我可以看到突出显示已更改,但一旦释放它就会恢复正常颜色。

这是我的选择器。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item  
    android:state_selected="true"
    android:drawable="@color/grey_light"/>
<item  
    android:state_selected="false"
    android:drawable="@color/grey"/>

这是我使用上述选择器的xml文件。

<ListView
    android:background="@color/grey"
    android:listSelector="@drawable/preview_button_selector"
    android:id="@+id/previewList"
    android:layout_alignParentRight="true"
    android:layout_width="100dp"
    android:layout_height="match_parent" />

这是我的代码

public void ThumbnailList_ItemClicked (object sender, AdapterView.ItemClickEventArgs args) {

        args.View.Selected = true;

        var previewViewPager = (ViewPager)FindViewById (Resource.Id.previewViewPager);
        previewViewPager.SetCurrentItem (args.Position, true); 

    }   

有谁知道为什么我在选择后无法保持背景颜色。

3 个答案:

答案 0 :(得分:0)

使用此代码

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
        view.setSelected(true);
        ... //Anything
    }
});

答案 1 :(得分:0)

您必须使用选择器。 看看这篇文章,这应该起作用:

https://stackoverflow.com/a/18386173/4035864

希望我能帮忙

答案 2 :(得分:0)

添加

android:choiceMode="singleChoice"

listView