我已经四处搜索,并且已经阅读了这个thread和thread等等,但没有任何帮助。
我有一个包含自定义布局的列表视图。布局有一个自定义搜索栏。我已经在列表视图中使用了搜索栏,但效果非常好但是在列表视图中使用时,onTouch事件没有正确调用,只有在我开始触摸它时才会运行。
这是我在getView中的代码的一部分:
newSimpleDim.layTouch1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
if (y < 0)
y = 0;
if (y > dimHeight)
y = dimHeight;
G.log("Event : " + event.getAction());
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
setHeight(newSimpleDim.layGray1, y);
setHeight(newSimpleDim.layGreen1, dimHeight - y);
setPadding(newSimpleDim.imgGreen1, -y);
newSimpleDim.txtlbl1.setText("" + (100 - ((int) ((y / (double) dimHeight) * 100))));
break;
}
return true;
}
});
这是列表项布局:
<LinearLayout
android:id="@+id/dimmerOne"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/layTouch1"
android:layout_width="wrap_content"
android:layout_height="202dp"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/layGray1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/imgGray1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="matrix"
android:src="@drawable/lay_component_dimmer_slider_off" />
</LinearLayout>
<LinearLayout
android:id="@+id/layGreen1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imgGreen1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="matrix"
android:src="@drawable/lay_component_dimmer_slider_on" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtlbl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="TextView"
android:typeface="monospace" />
</LinearLayout>
答案 0 :(得分:0)
这个问题看起来和我面临的问题类似,我有复选框,而且itemClickListener无效,请执行以下操作使itemClickListener正常工作,
在复选框中添加了以下属性
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
和ItemClickListner开始工作。
如果没有为搜索栏调用onTouch,则将上面的代码添加到布局中。
有关listview中可点击复选框的详细示例,您可以浏览该链接,并且可以应用相同的概念来制作onTouch工作
http://knowledge-cess.com/android-itemclicklistner-with-checkbox-or-radiobutton/
希望它有助于干杯!!