欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Fragment中修改Activity中的控件

程序员文章站 2022-05-14 07:57:30
...

在一些交互体验上做的比较的app上都有这么一个小功能,就是当你手指点击到标题栏的时候,会把你当前浏览的位置自动的滚动到该页面的起始的位置。

大概就是下面这个样子:

在Fragment中修改Activity中的控件

额……这里当然不是来讲用户体验的…哈哈,能分清那个是真正的知乎日报嘛?

在Fragment中修改Activity中的控件

上面是这个页面的布局,最外层是Activity,里面的内容部分使用Fragment做展示。

下面要讲的是如何在Fragment中调用Activity里的控件,这里我们需要完成的业务就是点击Activity中的ToolBar,然后将ListView滚动到起始位置,简单吧?下面直接上代码:

     //在Fragment中使用Activity中控件的方式
        AppCompatActivity activity = (AppCompatActivity) getActivity();
        Toolbar mToolBar = (Toolbar) activity.findViewById(R.id.toolbar);

        mToolBar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

               mHeaderListView.smoothScrollToPosition(0);

            }
        });

步骤就是,在当前的Fragment中调用getActivity方法获取依附着的那个Activity,然后再用获取到的Activity去findViewById拿到你需要的控件对其操作就行了。