ListFragment,DialogFragment,PagerAdapter

    xiaoxiao2022-07-14  147

    ListFragment,DialogFragment,PagerAdapter

    ListFragmentDialogFragmentPagerAdapter

    ListFragment

    public class ListFragment1 extends ListFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] s = {"北京","天津","辽宁"}; setListAdapter(new ArrayAdapter<>(getActivity(),R.layout.support_simple_spinner_dropdown_item,s)); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Log.e("#########",position+""); EventBus.getDefault().postSticky(position); } }

    主类

    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo); FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); ListFragment1 listFragment1 = new ListFragment1(); ListFragment2 listFragment2 = new ListFragment2(); Dialog1 dialog1 = new Dialog1(); transaction.add(R.id.one,listFragment1); transaction.add(R.id.two,listFragment2); transaction.commit(); }

    二级联动

    public class ListFragment2 extends ListFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); EventBus.getDefault().register(this); String[] s = {"海淀区","朝阳区","昌平区"}; setListAdapter(new ArrayAdapter(getActivity(),R.layout.support_simple_spinner_dropdown_item,s)); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @Subscribe(threadMode = ThreadMode.MAIN,sticky = true) public void get(Integer i){ Log.e("######1",i+""); switch (i){ case 0: String[] s = {"海淀区","朝阳区","昌平区"}; setListAdapter(new ArrayAdapter(getActivity(),R.layout.support_simple_spinner_dropdown_item,s)); break; case 1: String[] s1 = {"邯郸市","廊坊市","北京市"}; setListAdapter(new ArrayAdapter(getActivity(),R.layout.support_simple_spinner_dropdown_item,s1)); break; case 2: String[] s2 = {"沈阳市","铁岭市","大连市"}; setListAdapter(new ArrayAdapter(getActivity(),R.layout.support_simple_spinner_dropdown_item,s2)); break; } } @Override public void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); }

    }

    DialogFragment

    public class Dialog1 extends DialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("标题"); builder.setIcon(R.drawable.ic_launcher_background); builder.setMessage("消息"); builder.setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getContext(), "ok", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("no", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getActivity(), "no", Toast.LENGTH_SHORT).show(); } }); builder.show(); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } }

    主类 public class Demo extends AppCompatActivity {

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo); FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); Dialog1 dialog1 = new Dialog1(); transaction.add(R.id.three,dialog1); transaction.commit(); }

    }

    PagerAdapter

    public class PagerAdapters extends PagerAdapter { ArrayList<ImageView> list; ArrayList<String> lists; public PagerAdapters(ArrayList<ImageView> list,ArrayList<String> lists) { this.list = list; this.lists = lists; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object o) { return view == o; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { // super.destroyItem(container, position, object); container.removeView(list.get(position)); } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } @Nullable @Override public CharSequence getPageTitle(int position) { return lists.get(position); } }

    主类 public class Demo extends AppCompatActivity {

    ViewPager pager; PagerTabStrip tab; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo); pager = findViewById(R.id.pager); tab = findViewById(R.id.tab); ArrayList<ImageView> list = new ArrayList<>(); ImageView i1 = new ImageView(this); i1.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.t2)); ImageView i2 = new ImageView(this); i2.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.t3)); ImageView i3 = new ImageView(this); i3.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.t4)); list.add(i1); list.add(i2); list.add(i3); ArrayList<String> lists = new ArrayList<>(); lists.add("一号"); lists.add("二号"); lists.add("三号"); tab.setTabIndicatorColor(Color.GREEN); tab.setBackgroundColor(Color.RED); tab.setDrawFullUnderline(true); PagerAdapters adapters = new PagerAdapters(list,lists); pager.setAdapter(adapters); }

    }

    最新回复(0)