gpt4 book ai didi

android - 在android中滚动子 ScrollView 时如何停止父 ScrollView 的滚动?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:08 25 4
gpt4 key购买 nike

我知道我们可以为 ScrollView 使用触摸监听器,比如

parentScrollView.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v(TAG, "PARENT TOUCH");

findViewById(R.id.child_scroll).getParent()
.requestDisallowInterceptTouchEvent(false);
return false;
}
});

childScrollView.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v(TAG, "CHILD TOUCH");

// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});

我面临的是我的子 ScrollView 不是父 ScrollView 的直接 subview 。在此 v.getParent() 中不起作用,当我触摸并尝试滚动我的 child 时 ScrollView 整个主滚动正在滚动。

我的 ScrollView 在我的布局中的位置( View 是动态创建的,所以我需要处理这么多布局)

linearLayout
ParentscrollView(0)
linearLayout(0)
relativeLayout(0)
TextView(0)
relativeLayout(1)
childScrollView(0)

需要帮助..提前致谢。!!

最佳答案

父 ScrollView ID 的 findViewById() 是否不起作用?

childScrollView.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v(TAG, "CHILD TOUCH");

// Disallow the touch request for parent scroll on touch of child view
findViewById(parentLayouttId).requestDisallowInterceptTouchEvent(true);
return false;
}
});

关于android - 在android中滚动子 ScrollView 时如何停止父 ScrollView 的滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29889468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com