Fragment 和viewPagerAdapter
效果图Fragment布局文件(上面 Tablayout 下面ViewPager)适配器绑定Fragment到ViewPager主类
效果图
Fragment布局文件(上面 Tablayout 下面ViewPager)
<LinearLayout 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
=".Shop"
android
:orientation
="vertical">
<android
.support
.design
.widget
.TabLayout
android
:id
="@+id/tab1"
android
:layout_weight
="1"
android
:layout_width
="match_parent"
android
:layout_height
="0dp"></android
.support
.design
.widget
.TabLayout
>
<android
.support
.v4
.view
.ViewPager
android
:id
="@+id/page2"
android
:layout_weight
="12"
android
:layout_width
="match_parent"
android
:layout_height
="0dp"></android
.support
.v4
.view
.ViewPager
>
</LinearLayout
>
适配器绑定Fragment到ViewPager
public class pageAdapter2 extends FragmentPagerAdapter {
List
<Fragment
> list
;
List
<String
> list2
;
public pageAdapter2(FragmentManager fm
, List
<Fragment
> list
,List
<String
> list2
) {
super(fm
);
this.list
=list
;
this.list2
=list2
;
}
@Override
public Fragment
getItem(int i
) {
return list
.get(i
);
}
@Override
public int
getCount() {
return list
.size();
}
@Nullable
@Override
public CharSequence
getPageTitle(int position
) {
return list2
.get(position
);
}
}
主类
var foo
= 'bar';public class Shop extends AppCompatActivity {
TabLayout tabLayout
;
ViewPager viewPager
;
List
<String
> list
;
List
<Fragment
> list2
;
s1 s1
;
s2 s2
;
s1 s3
;
s1 s4
;
s1 s5
;
@Override
protected void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState
);
setContentView(R.layout
.activity_shop
);
tabLayout
=findViewById(R.id
.tab1
);
viewPager
=findViewById(R.id
.page2
);
list
=new ArrayList<>();
list2
=new ArrayList<>();
s1
=new s1();
s2
=new s2();
s3
=new s1();
s4
=new s1();
s5
=new s1();
list
.add("推荐");
list
.add("手机");
list
.add("智能");
list
.add("电视5周年");
list
.add("笔记本");
list2
.add(s1
);
list2
.add(s2
);
list2
.add(s3
);
list2
.add(s4
);
list2
.add(s5
);
tabLayout
.setupWithViewPager(viewPager
);
pageAdapter2 pageAdapter2
=new pageAdapter2(getSupportFragmentManager(),list2
,list
);
viewPager
.setAdapter(pageAdapter2
);
}
}