首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从片段中禁用MainActivity SwipeRefreshLayout

从片段中禁用MainActivity SwipeRefreshLayout
EN

Stack Overflow用户
提问于 2017-09-20 08:26:59
回答 1查看 927关注 0票数 0

我有一个主要的活动,包括一个SwipeRefreshLayout。该活动包含fragments

我想在特定的片段中禁用SwipeRefreshLayout,因为SwipeRefreshLayout的滑动手势干扰了片段上的ExpandableListView滚动手势。

为此,我尝试了以下几点,但没有成功:

关于片段我有:

代码语言:javascript
复制
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.listfragment, container, false);

    //......
    expListView  = (ExpandableListView) v.findViewById(R.id.expandableList);
    final MainActivity mainAct = (MainActivity) getActivity();
    //.......
    expListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
        @Override
        public void onGroupExpand(int groupPosition) {
            Log.d("test","Disabled");
            //SwipeRefreshLayout is called swipeRefreshLayout on MainActivity
            mainAct.swipeRefreshLayout.setEnabled(false);

        }
    });

运行这之后,我可以看到日志消息,因此swipeRefreshLayout应该被设置为false,但是SwipeRefreshLayout的下拉姿态是有效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 08:32:36

试着像:

从你的碎片(铸造):

代码语言:javascript
复制
((MainActivity) getActivity()).disableSwipe();

现在在你的活动中:

代码语言:javascript
复制
private void disableSwipe(){
    swipeRefreshLayout.setEnabled(false);
}

查看this answer以获得更多详细信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46316989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档