gpt4 book ai didi

android - 将项目加载到 ListView 后如何突出显示android listview的第一个项目?

转载 作者:行者123 更新时间:2023-11-29 17:46:28 25 4
gpt4 key购买 nike

1.这是我的 ListView

<ListView
android:id="@+id/lv_FromTable"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:listSelector="@drawable/list_selector"
android:orientation="vertical" />

2.在主要 Activity 的onCreate我加载项目并将适配器设置为 ListView

lv_FromTable = (ListView)rootView.findViewById(R.id.lv_FromTable);
FromTableAdapter = new ManageTableAdapter(context, FromTableList);
lv_FromTable.setAdapter(FromTableAdapter);
FromTableAdapter.notifyDataSetChanged();

3.我想在第一个项目上突出显示与 ListView 项目相同的点击

4.我已经尝试过下面的代码

lv_FromTable.performItemClick(lv_FromTable.getAdapter().getView(0, null, null), 0, lv_FromTable.getAdapter().getItemId(0));

它会引发 onitemclick 事件但不会突出显示第一个项目。

  1. 如何在将项目加载到 ListView 后突出显示 android ListView 的第一个项目?

最佳答案

FromTableAdapter.setSelectedPosition(0); 
FromTableAdapter.notifyDataSetChanged();

在具有选定位置的适配器中具有 getter 和 setter,并使用变量并在适配器的 getView 中突出显示选定的行。

您执行的是右击操作。在 onItemClick 中,view.setSelected(true); 但是你的可绘制 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>

lv_FromTable.setItemChecked(0,true);

编辑:不要忘记,没有上面的 listSelector 将无法工作

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@drawable/list_selector_background" />

关于android - 将项目加载到 ListView 后如何突出显示android listview的第一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26248849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com