我使用下面的代碼突出顯示點擊的項目。 但有2個問題:ListView:當我滾動時突出顯示消失
- 我第一次點擊一個項目,然後突出顯示不出現。因此,只有在我第二次單擊項目後纔會突出顯示項目。
- 當我滾動時,突出顯示消失。相反,我需要這些項目保持高亮顯示,直到點擊另一個項目。
你能幫我解決這兩個問題嗎?
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
bg_key.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
android:id="@+id/myselector"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item
android:state_selected="true"
android:drawable="@color/activated_color" />
<item
android:drawable="@color/default_color" />
</selector>
song_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
tools:context=".MainActivity"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/bg_key">
亮點消失,因爲表的子視圖被回收 – Redman
@Redman所以我能做些什麼? :) – xRobot
我知道一個解決方案,你可以在getview()方法中移除條件'if(convertview == null)'條件,如果列表中有很少的元素,那麼使用它,它不是推薦的方法 – Redman