Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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 禁用RecyclerView滚动,以便scrollview子级可以滚动 循环视图内部滚动视图_Android_Uiscrollview_Scrollview_Android Recyclerview - Fatal编程技术网

Android 禁用RecyclerView滚动,以便scrollview子级可以滚动 循环视图内部滚动视图

Android 禁用RecyclerView滚动,以便scrollview子级可以滚动 循环视图内部滚动视图,android,uiscrollview,scrollview,android-recyclerview,Android,Uiscrollview,Scrollview,Android Recyclerview,子对象由适配器插入,回收器被分割,第三个子对象是滚动视图,但它必须在放置第一个和第二个子对象后的剩余空间中滚动 我需要在不禁用scrollview的情况下禁用recyclerview滚动 回收容器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc

子对象由适配器插入,回收器被分割,第三个子对象是滚动视图,但它必须在放置第一个和第二个子对象后的剩余空间中滚动

我需要在不禁用scrollview的情况下禁用recyclerview滚动

回收容器

<RelativeLayout
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:background="@color/Lightgrey"
tools:context="com.inhousecrew.nocturnalkey.fragments.NightDetailsFragment">

            <android.support.v7.widget.RecyclerView
            android:id="@+id/nightlife_detailsrecycler"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:overScrollMode="never"
            android:background="@color/Background"
            />


</RelativeLayout>

这些是scrollview容器(recyclerview的第三个子容器)的XML初始属性


最后,这是一个包含回收器的java类,出于逻辑目的,我正在使用一个适配器来更改第一个子对象中的数据,这就是为什么我要使用recyclerview(首先)

公共类NightDetailsFragment扩展了片段{
私人回收站查看mRecyclerNight;
私人夜总会;
私有OnFragmentInteractionListener mListener;
公共静态NightlifeFragment newInstance(){
NightlifeFragment=新的NightlifeFragment();
Bundle args=新Bundle();
fragment.setArguments(args);
返回片段;
}
公共夜间详细信息片段(){
}
公共列表getData(){
//仅在抽屉中加载静态数据
列表数据=新的ArrayList();
int icons=R.drawable.settings\u w;
String titles=“设置”;
int background=R.drawable.background\u用户;
com.inhousecrul.noutchnalkey.fragments.Information=new com.inhousecrul.noutchnalkey.fragments.Information();
information.title=标题;
information.iconId=图标;
information.backgroundId=背景;
if(标题等于(“简介”)){
information.nightlife\u active=getResources().getColor(R.color.inactive\u事件);
}否则{
information.nightlife\u active=getResources().getColor(R.color.Yellow);
}
数据。添加(信息);
返回数据;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
返回充气机。充气(R.layout.fragment\u night\u详细信息,容器,错误);
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
mRecyclerNight=(RecyclerView)view.findviewbyd(R.id.nightlife\u detailsrecycler);
mAdapter=newNightDetailsDapter(getActivity(),getData());
mRecyclerNight.setAdapter(mAdapter);
setLayoutManager(新的LinearLayoutManager(getActivity());
}
public void onButtonPressed(Uri){
if(mListener!=null){
onFragmentInteraction(uri);
}
}
@凌驾
公共事务主任(活动){
超级转速计(活动);
试一试{
mListener=(OnFragmentInteractionListener)活动;
}catch(ClassCastException e){
抛出新的ClassCastException(activity.toString()
+“必须实现OnFragmentInteractionListener”);
}
}
@凌驾
公共无效连接(){
super.onDetach();
mListener=null;
}
FragmentInteractionListener上的公共接口{
公共void onFragmentInteraction(Uri);
}
}

您可以将RecyclerView子类化并覆盖以下度量:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightSpec);
    getLayoutParams().height = getMeasuredHeight();
}

您可以将RecyclerView子类化并覆盖以下度量:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightSpec);
    getLayoutParams().height = getMeasuredHeight();
}

如果您希望前两个项目的大小固定,而不是与剩余的项目一起滚动(以确保剩余的项目只占用剩余的空间),为什么它们甚至在
RecyclerView
中,而不是作为
RecyclerView
上方的固定元素?因为当我设置包含回收器的布局时,它仅显示回收器,即使将高度设置为小于屏幕大小(垂直),它只会忽略除回收器之外的所有视图这是一个完全不同的问题:发布显示问题的布局文件,如果您希望前两个项目的大小固定,而不是与其余项目一起滚动(以确保剩余项目只占用剩余空间),我们可能会帮助您解决潜在问题,为什么它们甚至在
RecyclerView
中,而不是作为
RecyclerView
上方的固定元素?因为当我设置包含回收器的布局时,即使将高度设置为小于屏幕大小(垂直),它也只显示回收器,它只会忽略除回收器之外的所有视图这是一个完全不同的问题:发布显示问题的布局文件,也许我们可以帮助您解决根本问题
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightSpec);
    getLayoutParams().height = getMeasuredHeight();
}