知识补习

    xiaoxiao2022-07-14  182

    知识补习

    Otto 事件分发框架 导入依赖 自定义类继承自bus类写单例模式 获得对象值 注册 解除注册

    ListFragmennt 自定义类继承listFragment 重写 oncreat()方法 重写onlistitemClick方法实现点击事件

    DialogFragment 自定义类继承DialogFragment 重写onCreat方法 将自定义布局填充给fragmment

    PagerAdapter viewPager的适配器 可以添加除fragment以外的控件 重写四个方法 getcount destoryItem isViewfromObject

    代码

    public class FragMent1 extends ListFragment { String[] citys={"北京","上海","广州"}; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new ArrayAdapter<>(getActivity(),R.layout.support_simple_spinner_dropdown_item,citys)); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); EventBus.getDefault().post(citys[position]); } } public class FragMent2 extends ListFragment { String[] beijing={"昌平","朝阳","海淀"}; String[] tianjing={"天津1","天津2","天津3"}; String[] guangdong={"广州1","广州2","广州3"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), R.layout.support_simple_spinner_dropdown_item, beijing); @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(adapter); EventBus.getDefault().register(this); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // View view = getLayoutInflater().inflate(R.layout.fragment1, container, false); return super.onCreateView(inflater, container, savedInstanceState); } @Subscribe(threadMode = ThreadMode.MAIN) public void onEvent(String name){ if(name.equals("北京")){ adapter = new ArrayAdapter<>(getActivity(), R.layout.support_simple_spinner_dropdown_item, beijing); adapter.notifyDataSetChanged(); }else if(name.equals("天津")){ adapter = new ArrayAdapter<>(getActivity(), R.layout.support_simple_spinner_dropdown_item, tianjing); adapter.notifyDataSetChanged(); }else if(name.equals("广州")){ adapter = new ArrayAdapter<>(getActivity(), R.layout.support_simple_spinner_dropdown_item, guangdong); adapter.notifyDataSetChanged(); } } @Override public void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); }
    最新回复(0)