如何突出Xamarin Android中ListView的onclick项目

时间:2017-04-27 05:46:21

标签: android listview xamarin.android

我希望在单击ListView中的项目时看到突出显示,但它不起作用。我用Google搜索了很长时间来解决这个问题,但没有任何帮助。

我在Android原生中创建列表时没有任何问题。 以下是适用于Android原生项目的布局XML。

<ListView
            android:id="@+id/menuList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/img_logo_arkema"
            android:layout_below="@+id/img_logo_paladin"
            android:background="#ffffffff"
            android:choiceMode="singleChoice" />

但是当我在Xamarin.Android项目中创建相同的ListView时,这不起作用。 这是布局的XML,不适用于Xamarin.Android项目。

<ListView
        android:id="@+id/menuList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@color/colorTopDivider"
        android:dividerHeight="@dimen/right_menu_divider_size"
        android:choiceMode="singleChoice" />

我正在Visual Studio 2015中开发Xamarin.Android。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我已经尝试了几个小时,最后自己解决了。

问题是我将颜色设置为列表项布局的背景。 当我删除列表项布局中的背景属性时,它有效!

这是更详细的解决方案。

highlighting the selected item in the listview in android

答案 1 :(得分:0)

是的,基本上你的想法是正确的Passionate.C。但是你也可以使用选择器更容易,你在xml中定义了一个选择器(在drawble文件夹中)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
    android:drawable="@android:drawable/list_selector_background" />      
</selector>

然后在listView中调用setSelector()并传递自己的选择器。这是一个更可定制的解决方案,因为您还可以轻松控制listView项目的其他状态