我有一个列表视图,当用户点击列表视图项时,它的背景颜色会发生变化。我是通过XML做到的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/pressed" />
<item android:state_focused="true" android:state_selected="false" android:drawable="@drawable/pressed" />
<item android:state_focused="false" android:state_selected="true" android:drawable="@drawable/pressed" />
<item android:state_focused="false" android:drawable="@drawable/normal" />
<item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/pressed" />
</selector>
这是我的列表视图:
...
<com.example.mb7.sportappbp.UI_Controls.StimmungListview
android:id="@+id/lvAngespannt"
android:layout_width="match_parent"
android:divider="#00279a"
android:entries="@array/str_Stimmungen"
android:dividerHeight="2dp"
tools:listitem="@layout/lstnotificationcell"
android:headerDividersEnabled="true"
android:footerDividersEnabled="true"
android:layout_weight="1.08"
android:listSelector="@drawable/bkg"
android:layout_height="280dp" />
现在,我发现提出触摸事件的唯一方法是使用此代码:
Integer mActivePosition = 2;
lstAngespannt.requestFocusFromTouch();
lstAngespannt.setSelection(mActivePosition);
lstAngespannt.performItemClick(
lstAngespannt.getAdapter().getView(mActivePosition, null, null),
mActivePosition,
lstAngespannt.getAdapter().getItemId(mActivePosition));
其中lstAngespannt
是我的列表视图。
当我在button.clicks事件中编写此代码时,它确实有效。但我想要的是,当活动变得可见时执行此代码,以便显示列表视图,点击给用户。
我试图在活动的onResume
事件中编写此代码,但它不起作用。
我怎么能做到这一点?