android listview为啥不能滑动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android listview为啥不能滑动相关的知识,希望对你有一定的参考价值。

    你在listview上无意中加了一层view,使listview无法接收滑动事件

    该listview在scrollview上时,是无法获取滑动事件,只会被scrollview拦截。

    listview中数据不够多,没有超越屏幕的存在,自然不能滑动。

参考技术A touch事件直接把静态变量EditText传进来,这样做看起来有点奇怪,为什么不尝试定义一个内部接口,外面去做软键盘的处理呢?
还有就是滑动不了,那是你在onTouchEvent事件直接return true 或者return false,应该要 return super.onTouchEvent(ev);就可以滑动,具体可以去看下ListView的源码。

post_newreply

//$(\'note_\').focus();
function succeedhandle_vfastpost(url, message, param)
$(\'vmessage\').value = \'\';
succeedhandle_fastpost(url, message, param);
showCreditPrompt();

var vf_tips = \'#在这里快速回复#\';
$(\'vmessage\').value = vf_tips;
$(\'vmessage\').style.color = \'#CDCDCD\';
$(\'vmessage\').onclick = function()
if($(\'vmessage\').value==vf_tips)
$(\'vmessage\').value=\'\';
$(\'vmessage\').style.color=\"#000\";


$(\'vmessage\').onblur = function()
if(!$(\'vmessage\').value)
$(\'vmessage\').value=vf_tips;
$(\'vmessage\').style.color=\"#CDCDCD\";


$(\'vreplysubmit\').onclick = function()
if($(\'vmessage\').value == vf_tips)
return false;

android listview上下滑动时为啥不触发点击事件

listview.setOnItemClickListener()方法已经重写,但是在滑动时,不会触发这个方法?为什么?滑动时也是点点击了单个条目的?

所谓点击需要有一个按下和抬起的动作,如果区分短按和长按,则以抬起时相对于按下时的时间来区分。
同样的,滑动时,移动先于抬起,此时就不再触发点击事件了。追问

也就是说,滑动的监听先于点击事件监听被捕捉到!对吧,明白了!

追答

嗯。

参考技术A setOnItemClickListener() 触发的机制是, 手指点击时会产生触屏事件的 ACTION_DOWN, 这会根据xy坐标判断是哪个Item被点击, 手指提起时会触发ACTION_UP事件, 这样才是真正完成了整个点击的过程,从触发了setOnItemClickListener事件 ; 如果 你点击之后移动了 会触发ACTION_MOVE事件,当手指移动超过一定距离再提起时,就不会再触发setOnItemClickListener 事件。 希望能帮到你。 参考技术B listView.setOnScrollListener(this);
private ListAdapter adapter = new ListAdapter();
listView.setAdapter(adapter);
class ListAdapter extends BaseAdapter
@Override
public View getView(int position, View convertView, ViewGroup parent)
return convertView;



listView.setOnItemClickListener(new MyListItemClickListener());
class MyListItemClickListener implements OnItemClickListener
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,
long arg3)


看到以上代码,你理解了吗???
这些监听里面,拖动是第一位的。然后,点击是第二位的。点击和拖动是有根本区别的。
楼上 “gaogaf | 六级 ” 说的很有道理。

以上是关于android listview为啥不能滑动的主要内容,如果未能解决你的问题,请参考以下文章

android listview上下滑动时为啥不触发点击事件

Android滚动选取金额

Android 解决之NestedScrollView嵌套ListView后不能上下滑动的问题

android listView 显示不全,为啥

android scrollview 嵌套listview 不滑动

Android ScrollView中嵌套ListView