如何在将项目加载到listview后突出显示android listview第一项?

时间:2014-10-08 03:38:34

标签: android listview android-listview

1.这是我的列表视图

<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.in onCreate of main activity i load item并将adapter设置为listview

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

3.i想在第一项上突出显示同样点击列表视图项目

4.i已经尝试过以下代码

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

它会提高onitemclick事件,但不会突出显示第一项。

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

1 个答案:

答案 0 :(得分:3)

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

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

您正在执行点击右键。 在onItemClickview.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" />