然后我将 ListView
设置为:
<ListView
android:id="@+id/list_menu_nav"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:listSelector="#fff">
</ListView>
适配器设置为:
navMenu = (ListView) findViewById( R.id.list_menu_nav );
navMenu.setAdapter( new ArrayAdapter<String>( this,
android.R.layout.simple_list_item_1,
menuList ) );
当我触摸一个项目时,它会变成白色背景(按照我的设置)。但是,当我如下所示单击一个项目时,它被选中但没有获得白色背景。
navMenu.performItemClick( navMenu.getChildAt( 1 ), 1, navMenu.getAdapter().getItemId( 1 ) );
我知道它已被选中,因为其他一切都按预期工作(调用的监听器,getCheckedItemPosition
返回正确的值)。
在这种情况下,正确的做法是什么?将布局替换为自定义布局并自己制作突出显示,或者是否有使用相同默认布局的方法?
最佳答案
根据这个,你只有 TextView
:
所以这种行为是意料之中的。您必须为项目元素创建自己的布局以自定义选定状态。看这里:
关于android - ListView 中的 performItemClick 不突出显示项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20269058/