Android 我的ListView没有';当我在ImageView中触摸时不会滚动

Android 我的ListView没有';当我在ImageView中触摸时不会滚动,android,Android,我用HorzListView在 在包含ImageView的ListView中,当我在ImageView中触摸时,它不会滚动,当我在2个ImageView之间的间隙中触摸时,它只会滚动。TextView没有这个问题。如何修复它 我的代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

我用HorzListView在

在包含ImageView的ListView中,当我在ImageView中触摸时,它不会滚动,当我在2个ImageView之间的间隙中触摸时,它只会滚动。TextView没有这个问题。如何修复它

我的代码:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical" >

    <com.sileria.android.view.HorzListView
        android:id="@+id/horizontal_lv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <com.sileria.android.view.HorzListView
        android:id="@+id/horizontal_lvImg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
MainActivity.java

import com.sileria.android.view.HorzListView;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // listview don gian
        HorzListView listview = (HorzListView) findViewById(R.id.horizontal_lv);
        String[] arrString = { "Android", "Windown Phone", "IOS", "Mac",
                "Linux" };
        ArrayAdapter<String> adapterString = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, arrString);
        listview.setAdapter(adapterString);

        // listview Item la anh
        HorzListView listviewImg = (HorzListView) findViewById(R.id.horizontal_lvImg);
        int[] arrImg = { R.drawable.img1, R.drawable.img2, R.drawable.img3,
                R.drawable.img4 };
        HorizontalListViewAdapter adapterImg = new HorizontalListViewAdapter(
                this, arrImg);
        listviewImg.setAdapter(adapterImg);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
import com.sileria.android.view.HorzListView;
导入android.os.Bundle;
导入android.app.Activity;
导入android.view.Menu;
导入android.widget.ArrayAdapter;
公共类MainActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//listview唐吉安
HorzListView listview=(HorzListView)findViewById(R.id.horizontal\U lv);
String[]arrString={“Android”、“Windown Phone”、“IOS”、“Mac”,
“Linux”};
ArrayAdapter适配器字符串=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,arrString);
setAdapter(adapterString);
//listview项目la anh
HorzListView列表视图img=(HorzListView)findViewById(R.id.horizontal\u lvImg);
int[]arrImg={R.drawable.img1,R.drawable.img2,R.drawable.img3,
R.drawable.img4};
HorizontalListViewAdapterIMG=新的HorizontalListViewAdapter(
这个,阿里姆);
listviewImg.setAdapter(adapterImg);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}

图像上是否有单击侦听器?是什么代码导致了这个问题?@s-hunter是的,任何点击/点击图像的侦听器都会向左/向右滚动,但不会滚动:(我认为这是库问题,因为我使用的是简单的代码:(我编辑了这篇文章!如果没有特别的理由你必须使用这个com.sileria.android.view.HorzListView,我建议你使用RecyclerView,看看这个答案,
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class HorizontalListViewAdapter extends BaseAdapter {
    private int[] arrImg;
    private Context context;

    public HorizontalListViewAdapter(Context context, int[] arrImg) {
        this.arrImg = arrImg;
        this.context = context;
    }

    @Override
    public int getCount() {
        return arrImg.length;
    }

    @Override
    public Object getItem(int arg0) {
        return arrImg[arg0];
    }

    @Override
    public long getItemId(int arg0) {
        return arg0;
    }

    @Override
    public View getView(final int arg0, View convertView, ViewGroup arg2) {
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater) context
                    .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.item_horizontal_listview,
                    null);
        }

        ImageView imgItem = (ImageView) convertView.findViewById(R.id.imgItem);
        imgItem.setImageResource(arrImg[arg0]);

        return convertView;
    }

}
import com.sileria.android.view.HorzListView;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // listview don gian
        HorzListView listview = (HorzListView) findViewById(R.id.horizontal_lv);
        String[] arrString = { "Android", "Windown Phone", "IOS", "Mac",
                "Linux" };
        ArrayAdapter<String> adapterString = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, arrString);
        listview.setAdapter(adapterString);

        // listview Item la anh
        HorzListView listviewImg = (HorzListView) findViewById(R.id.horizontal_lvImg);
        int[] arrImg = { R.drawable.img1, R.drawable.img2, R.drawable.img3,
                R.drawable.img4 };
        HorizontalListViewAdapter adapterImg = new HorizontalListViewAdapter(
                this, arrImg);
        listviewImg.setAdapter(adapterImg);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}