【问题标题】:Android: How to change the background color when user selected the item in the listview.Android:当用户在列表视图中选择项目时如何更改背景颜色。
【发布时间】:2016-03-26 21:49:44
【问题描述】:

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

这是我的选择器。

<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); 

    }   

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

【问题讨论】:

    标签: android listview select background


    【解决方案1】:

    使用此代码

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

    【讨论】:

    • @Simon 看到答案。
    • 我使用了 xamarin,我的代码也确实有 view.setSelected。
    【解决方案2】:

    您必须使用选择器。 看看这个帖子,应该是这样的效果:

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

    希望我能帮上忙

    【讨论】:

    • 我意识到这是我在 onItemClick 部分中的查看器代码。当我评论那条线时,选择背景发生了变化并保持不变。但它也需要那几行......
    【解决方案3】:

    添加

    android:choiceMode="singleChoice"
    

    致您的listView

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多