Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 以WebView作为标题的ListView自动滚动_Android_Android Listview_Android Webview - Fatal编程技术网

Android 以WebView作为标题的ListView自动滚动

Android 以WebView作为标题的ListView自动滚动,android,android-listview,android-webview,Android,Android Listview,Android Webview,我遇到了这种情况,我创建了一个ListFragment,在其中附加了一个HeaderView,其中包含一个长WebView。 从这里开始,我详细解释了这种情况,每当用户试图长时间点击WebView内容时,为了:让我们说从中复制一个短语并粘贴到其他地方,它会自动滚动到HeaderView的底部 我创建了一个简单的例子(这里),在这个例子中我证明了我的行为,这样我就可以更容易地被理解。它的布局只是简单的布局,没有什么与众不同的。(一个框架布局用于活动和一个网络视图用于列表片段头视图) 正如我在上面的

我遇到了这种情况,我创建了一个
ListFragment
,在其中附加了一个
HeaderView
,其中包含一个长
WebView
。 从这里开始,我详细解释了这种情况,每当用户试图长时间点击
WebView
内容时,为了:让我们说从中复制一个短语并粘贴到其他地方,它会自动滚动到HeaderView的底部

我创建了一个简单的例子(这里),在这个例子中我证明了我的行为,这样我就可以更容易地被理解。它的布局只是简单的布局,没有什么与众不同的。(一个
框架布局
用于
活动
和一个
网络视图
用于
列表片段头视图

正如我在上面的线程中提到的,可以通过删除

requestWindowFeature(Window.FEATURE_NO_TITLE);
行,一切正常,但我需要我的活动隐藏操作栏/标题栏,使其符合设计。我尝试将
ActionBarActivity
getSupportActionBar().hide()
一起使用,但结果相同

我该怎么做才能将其转化为期望的结果

LE:我有一种感觉,不知何故,我可以访问默认的行为,即在WebView上单击onLongClick,在调用默认方法后,我可以返回true,这样事件就不会被进一步调度(也称为ListView)。我搜索了所有地方,但我找不到这段代码,无法在onLongClick上触发默认行为(我想是带有选择和复制/粘贴的startActionMode)

LE2:布局如下: MainActivity布局包含具有匹配父级高度/宽度的FrameLayout。 HeaderView是一种包含匹配父级高度/宽度WebView的布局

这是headerview布局:

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/wv_test"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

我认为主要的问题是,您将一个可滚动视图(webview)作为另一个可滚动视图(listview)的一部分。您应该尝试创建一个自定义webview,并通过以下方式覆盖onTouchEvent方法:

@Override
public boolean onTouchEvent(MotionEvent event) {
    requestDisallowInterceptTouchEvent(true);       
    return super.onTouchEvent(event);
}

这将禁用webview(listview)的父级以拦截触摸事件

您的R.layout.act_main在哪里?如果你想有人帮你。您应该提供所有信息:)MainActivity布局仅具有匹配的父级宽度/高度FrameLayout。没有什么不寻常的事。我也用这些信息重新编辑了帖子。我复制粘贴了你的要点,但没有找到“R.id.container_list”((WebView)header.findviewbyd(R.id.wv_test))、R.layout.frag_header和其他等等many@AZ_我也改变了headerView的布局。R.id.container\u list是我添加了ListFragments的FrameLayout的id您的答案可能在我想象的正确路径上,但它需要更多的工作。我这么说的原因是,现在listview根本不会滚动(可能是因为我的CustomWebView正在“窃取”该事件),所以我需要做的是,仅当我长按WebView时,才会发生此requestDissallowInterceptTouchEvent。你能帮我解决这个问题吗?你能做的最好的事情就是设置RequestDisallowWinterCeptTouchEvent(true);当你点击webview时,点击listview时,点击false,唯一的问题是每次你想要改变截距时,你都需要点击屏幕。否则,如果您不需要标题与列表一起滚动,您可以将它们分开。