zoukankan      html  css  js  c++  java
  • android Fragment使用RecyclerView

    1、先对系统生成的Fragment改造成更直观的,比如这种

    public class DashboardFragment extends Fragment {
    
        private DashboardViewModel dashboardViewModel;
    
        public View onCreateView(@NonNull LayoutInflater inflater,
                                 ViewGroup container, Bundle savedInstanceState) {
            View view =inflater.inflate(R.layout.fragment_dashboard,container,false);
            return view;
            /*
            /*
            dashboardViewModel =
                    ViewModelProviders.of(this).get(DashboardViewModel.class);
            View root = inflater.inflate(R.layout.fragment_dashboard, container, false);
            final TextView textView = root.findViewById(R.id.text_dashboard);
            dashboardViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
                @Override
                public void onChanged(@Nullable String s) {
                    textView.setText(s);
                }
            });
            return root;
             */
        }
    }

    2、把Activity里用RecyclerView的拷贝过来,稍微改造下即可,如果找不到R.layout. 里的布局,可重新打开工程等

    import com.example.mytest2.R;
    
    public class NotificationsFragment extends Fragment {
    
        //private NotificationsViewModel notificationsViewModel;
        private RecyclerView mRecyclerView;
        private ArticleAdapter mArticleAdapter;
        public View onCreateView(@NonNull LayoutInflater inflater,
                                 ViewGroup container, Bundle savedInstanceState) {
    
            View view =inflater.inflate(R.layout.fragment_notifications,container,false);
    
            mRecyclerView = (RecyclerView) view.findViewById(R.id.rv_list);
            LinearLayoutManager llm = new LinearLayoutManager(getActivity());//(this);
            llm.setOrientation(LinearLayoutManager.VERTICAL);
            mRecyclerView.setLayoutManager(llm);
            mArticleAdapter=new ArticleAdapter(/*this,*/llm);
            mRecyclerView.setAdapter(mArticleAdapter);
    
            return view;
    
            /*
            notificationsViewModel =
                    ViewModelProviders.of(this).get(NotificationsViewModel.class);
            View root = inflater.inflate(R.layout.fragment_notifications, container, false);
            final TextView textView = root.findViewById(R.id.text_notifications);
            notificationsViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
                @Override
                public void onChanged(@Nullable String s) {
                    textView.setText(s);
                }
            });
            return root;
    */
    
        }
    }
  • 相关阅读:
    Linux之文档与目录结构
    Linux介绍
    CentOS7下zip解压和unzip压缩文件
    yum 命令讲解
    Linux安装redis
    pip更新问题
    第一章-KS8初体验 安装部署
    MVC Razor视图引擎
    MVC 组件之间的关系
    Web应用程序和网站的区别
  • 原文地址:https://www.cnblogs.com/cnchengv/p/14660401.html
Copyright © 2011-2022 走看看