Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Java SwipeRefreshLayout阻止android.wiget.swith拖动_Java_Android_Android Studio_Switch Statement_Swiperefreshlayout - Fatal编程技术网

Java SwipeRefreshLayout阻止android.wiget.swith拖动

Java SwipeRefreshLayout阻止android.wiget.swith拖动,java,android,android-studio,switch-statement,swiperefreshlayout,Java,Android,Android Studio,Switch Statement,Swiperefreshlayout,我有一个活动和10个片段,我从活动中提取。活动中的所有片段都需要“拖动以刷新”。我添加了滑动刷新布局来创建它。现在,当我点击开关时,一切正常;但当我试图将它从一个阶段拖到另一个阶段时,会出现“滑动刷新”的情况,而开关只是停留在相同的位置。那么,当用户将开关从一个位置拖动到另一个位置时,如何阻止及时刷新滑动刷新布局 我试着这样做: onOffSwitchSettings.setOnTouchListener(new View.OnTouchListener() { @Ove

我有一个活动和10个片段,我从活动中提取。活动中的所有片段都需要“拖动以刷新”。我添加了滑动刷新布局来创建它。现在,当我点击开关时,一切正常;但当我试图将它从一个阶段拖到另一个阶段时,会出现“滑动刷新”的情况,而开关只是停留在相同的位置。那么,当用户将开关从一个位置拖动到另一个位置时,如何阻止及时刷新滑动刷新布局

我试着这样做:

    onOffSwitchSettings.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            ((MainActivity) getActivity()).swipeContainer.setRefreshing(false);
            return false;
        }
    });

但之后如何打开它?

根据
SwipeRefreshLayout
参考:

SwipeRefreshLayout
每次都会通知侦听器 手势再次完成;听者负责 正确地确定何时实际启动其 内容。如果侦听器确定不应该刷新,则 必须调用
setRefreshing(false)
,以取消任何可视指示 刷新如果某个活动希望仅显示进度动画,则它将 应调用
设置刷新(true)
禁用手势和进度 动画,在视图上调用
setEnabled(false)

您忘记使用
((MainActivity)getActivity()).swipContainer.setEnabled(fals)‌​e) 
方法

另一个问题是,使用上面的命令,您将永久禁用
SRL
,因此需要在操作正确时再次启用它,我的意思是不再需要拖动


希望对您有所帮助

根据
SwipeRefreshLayout
参考:

SwipeRefreshLayout
每次都会通知侦听器 手势再次完成;听者负责 正确地确定何时实际启动其 内容。如果侦听器确定不应该刷新,则 必须调用
setRefreshing(false)
,以取消任何可视指示 刷新如果某个活动希望仅显示进度动画,则它将 应调用
设置刷新(true)
禁用手势和进度 动画,在视图上调用
setEnabled(false)

您忘记使用
((MainActivity)getActivity()).swipContainer.setEnabled(fals)‌​e) 
方法

另一个问题是,使用上面的命令,您将永久禁用
SRL
,因此需要在操作正确时再次启用它,我的意思是不再需要拖动


希望对您有所帮助

我认为您应该使用“
((MainActivity)getActivity()).swipContainer.setEnabled(false)
我认为您应该使用“
((MainActivity)getActivity()).swipContainer.setEnabled(false)