滚动条与viewpagerFragment交互

来源:互联网 发布:java泛型类 继承 调用 编辑:程序博客网 时间:2024/06/15 02:07

依赖

compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
布局文件  主布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <com.astuetz.PagerSlidingTabStrip        android:layout_width="match_parent"        android:layout_height="35dp"        android:id="@+id/psts"        ></com.astuetz.PagerSlidingTabStrip>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/viewpager"        ></android.support.v4.view.ViewPager></LinearLayout>
Fragment布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/tv"        /></LinearLayout>
代码文件

import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.astuetz.PagerSlidingTabStrip;public class MainActivity extends FragmentActivity {    private ViewPager viewpager;    private PagerSlidingTabStrip psts;    //设置滚动的title    private String[] titles={"首页","推荐","新闻","视频","娱乐"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //初始化组件        psts = (PagerSlidingTabStrip) findViewById(R.id.psts);        viewpager = (ViewPager) findViewById(R.id.viewpager);        viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {            @Override            public CharSequence getPageTitle(int position) {                return titles[position];            }            @Override            public Fragment getItem(int position) {                //传递数据                return Fragment01.getins(titles[position].toString());            }            @Override            public int getCount() {                return titles.length;            }        });        psts.setViewPager(viewpager);    }}
Fragment代码

import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class Fragment01 extends Fragment {    private String title;    //Fragment传值    @Nullable    public static Fragment01 getins(String title){        Fragment01 fragment1 = new Fragment01();        Bundle bundle = new Bundle();        bundle.putString("title",title);        fragment1.setArguments(bundle);        return fragment1;    }    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View inflate = inflater.inflate(R.layout.fragment01, null);        //获得数据        Bundle arguments = getArguments();        title = arguments.getString("title");        TextView tv=inflate.findViewById(R.id.tv);        tv.setText(title);        return inflate;    }}


原创粉丝点击