Android:无法同时设置:setOnItemClickListener setOnScrollListener?

Android:无法同时设置:setOnItemClickListener setOnScrollListener?,android,onitemclicklistener,Android,Onitemclicklistener,添加ListView.setOnScrollListener后(此) onItemClick(…)不再触发 有人知道为什么吗 谢谢。我不明白为什么它不起作用 试试这个: class MyActivity extends Activity implements OnScrollListener, OnItemClickListener { ... listView.setOnItemClickListener(this); listView.setOnScrollListener(this);

添加ListView.setOnScrollListener后(此)

onItemClick(…)不再触发

有人知道为什么吗


谢谢。

我不明白为什么它不起作用

试试这个:

class MyActivity extends Activity implements OnScrollListener,  OnItemClickListener {
...
listView.setOnItemClickListener(this);
listView.setOnScrollListener(this);  // why not work with previous line?
...

private-OnItemClickListener onAnswerClicked=new-OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
// 
意图i=新意图();
setResult(结果_OK,i);
完成();
}
};
私有OnScrollListener OnAnswersScrold=新建OnScrollListener(){
@凌驾
公共无效onScrollStateChanged(AbsListView视图,int scrollState){
//不用
}
@凌驾
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
//做点什么
}
}
};

试试这个。这是我显示自定义listView的代码。它对我有用

private OnItemClickListener onAnswerClicked = new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // 
                Intent i = new Intent();

                setResult(RESULT_OK, i);
                finish();
        }

    };

    private OnScrollListener onAnswersScrolled = new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // not used
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            // do something
            }
        }
    };
希望有帮助。

trued:added on row.xml安卓:focusable=“false”安卓:focusableInTouchMode=“false”仍不工作。
private OnItemClickListener onAnswerClicked = new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // 
                Intent i = new Intent();

                setResult(RESULT_OK, i);
                finish();
        }

    };

    private OnScrollListener onAnswersScrolled = new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // not used
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            // do something
            }
        }
    };
public class MyActivity extends ListActivity implements OnScrollListener  {

MyAdapter adapter= new MyAdapter(this);

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(adapter); 
    getListView().setOnItemClickListener(this);
    getListView().setOnScrollListener(this);
}

public class MyAdapter extends BaseAdapter{

    private LayoutInflater mInflater;
    ViewHolder holder = null;

    public MyAdapter(Context context){
        this.mInflater = LayoutInflater.from(context);
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mData.size();
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        /**Original holder
         * 
         * 
         * */
        //ViewHolder holder = null;
        if (convertView == null) {

            holder=new ViewHolder();  

        }else {

            holder = (ViewHolder)convertView.getTag();
        }

        return convertView;
    }

    class myButtonListener implements OnClickListener {
        private int position;


        myButtonListener(int pos) {
            position = pos;
        }

        @Override
        public void onClick(View v) {
            int vid=v.getId();

        }
    }

}