我有ListView
,列表的每一行都有TextView
和ImageView
。我正在使用ImageView
的选择器,我希望当我只点击该ImageView
行时,它会发生变化,但是当我点击该行上的任何其他地方时ImageView
不受影响。
选择代码
<selector xmlns:android="schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/download_h"
android:state_pressed="true"/>
<item android:drawable="@drawable/download"/>
</selector>
答案 0 :(得分:0)
自定义列表行..
<LinearLayout android:id="@+id/RootView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
>
<TextView android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"/>
<ImageView android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
现在在你的适配器::
LinearLayout linearLayout = (LinearLayout) v.findViewbyid(R.id.RootView);
linearLayout.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN && event.getAction()!=MotionEvent.ACTION_MOVE){
imgView.setBackgroundResource(R.drawable.pressed_state);
}else
btnArrow.setBackgroundResource(R.drawable.normal_stat);
return false;
}
});
对我有用...... 希望这有帮助。