Fragment2

    xiaoxiao2022-07-14  161

    Fragment

    ListFragmentDialogFragmentPagerTabStrip

    pagerAdapter 作用:viewpager的适配器可以添加处Fragment以外的控件 重写4个方法 getCount() instantiateItm() destroyItem() isviewFromobjict() getPagerTitle()

    注意:只有用了2,3两个标签,才需要添加getPageTitle方法

    pagerTitleStrip 给viewparger加标题 用法:把他们嵌套在viewpager标签内

    ListFragment

    布局

    <FrameLayout android:id="@+id/f1" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="wrap_content"></FrameLayout> <FrameLayout android:id="@+id/f2" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="wrap_content"></FrameLayout>

    ListFragmentMainActivity

    public class MainActivity extends AppCompatActivity { Fragment1 fragment1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); fragment1 = new Fragment1(); transaction.add(R.id.f1,fragment1); transaction.add(R.id.f2,new Fragment2()); transaction.add(R.id.f1,new Fragment3()); transaction.commit(); }

    }

    Fragment1

    public class Fragment1 extends ListFragment { String[] strings={"北京","上海","江苏"}; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new ArrayAdapter<>(getActivity(),R.layout.support_simple_spinner_dropdown_item,strings)); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); EventBus.getDefault().post(strings[position]); } }

    **Fragment2 **

    public class Fragment2 extends ListFragment { ArrayAdapter<String> arrayAdapter; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); EventBus.getDefault().register(this); arrayAdapter = new ArrayAdapter<>(getActivity(), R.layout.support_simple_spinner_dropdown_item, new String[]{"海淀", "朝阳"}); setListAdapter(arrayAdapter); } @Subscribe(threadMode = ThreadMode.MAIN,sticky = true) public void show1(String i){ if (i.equals("北京")){ setListAdapter(arrayAdapter); }else if(i.equals("上海")){ setListAdapter(new ArrayAdapter<>(getActivity(),R.layout.support_simple_spinner_dropdown_item,new String[]{"奉贤区","大兴区"})); }else if (i.equals("江苏")){ setListAdapter(new ArrayAdapter<>(getActivity(),R.layout.support_simple_spinner_dropdown_item,new String[]{"无锡","宿迁"})); } } @Override public void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } }

    DialogFragment

    public class Fragment3 extends DialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("标题"); builder.setMessage("天气"); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getActivity(), "OK", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getActivity(), "cancel", Toast.LENGTH_SHORT).show(); } }); builder.show(); } }

    PagerTabStrip

    布局

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Main2Activity"> <android.support.v4.view.ViewPager android:id="@+id/view" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v4.view.PagerTabStrip android:layout_width="wrap_content" android:layout_height="wrap_content"> </android.support.v4.view.PagerTabStrip> </android.support.v4.view.ViewPager> </android.support.constraint.ConstraintLayout>

    代码

    public class Main2Activity extends AppCompatActivity { List<ImageView> list=new ArrayList<>(); ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); viewPager= findViewById(R.id.view); ImageView imageView = new ImageView(this); imageView.setImageResource(R.drawable.tu1); ImageView imageView1 = new ImageView(this); imageView1.setImageResource(R.drawable.tu2); ImageView imageView2 = new ImageView(this); imageView2.setImageResource(R.drawable.tu3); list.add(imageView); list.add(imageView1); list.add(imageView2); String[] strings={"标题一","标题二","标题三"}; MyAdapter myAdapter = new MyAdapter(list,strings); viewPager.setAdapter(myAdapter); } }

    最新回复(0)