频道管理第三方(简单)

整个空间依赖

maven {url "https://jitpack.io"}

项目的依赖

implementation 'com.github.andyoom:draggrid:v1.0.1'

Xml_Main

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

    <android.support.design.widget.TabLayout
        android:id="@+id/tab"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        ></android.support.design.widget.TabLayout>

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="+"
        android:textSize="40sp"
        />
</LinearLayout>
<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"

    android:layout_weight="1"></android.support.v4.view.ViewPager>

MainActivity

private TabLayout tabLayout;
    private ViewPager viewPager;
    private TextView textView;
    private ArrayList<ChannelBean> channelBeans=new ArrayList<>();
    private ArrayList<Fragment> fragments=new ArrayList<>();
    private MyBase myBase;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    init(savedInstanceState);
    initData();

}

private void initData() {
    channelBeans.add(new ChannelBean("热点",true));
    channelBeans.add(new ChannelBean("关注",true));
    channelBeans.add(new ChannelBean("北京",true));
    channelBeans.add(new ChannelBean("房价",true));
    channelBeans.add(new ChannelBean("旅游",false));
    channelBeans.add(new ChannelBean("条目一",false));
    channelBeans.add(new ChannelBean("条目二",false));
    fragments.add(new FragmentOne());
    fragments.add(new FragmentTwo());
    fragments.add(new FragmentThree());
    fragments.add(new FragmentOne());
    fragments.add(new FragmentTwo());
    fragments.add(new FragmentThree());
    fragments.add(new FragmentOne());
    for (int i=0;i<channelBeans.size();i++){
        if(channelBeans.get(i).isSelect()){
            tabLayout.addTab(tabLayout.newTab().setText(channelBeans.get(i).getName()));
        }
    }
    myBase=new MyBase(getSupportFragmentManager());
    viewPager.setAdapter(myBase);
    tabLayout.setupWithViewPager(viewPager);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==ChannelActivity.REQUEST_CODE&&resultCode==ChannelActivity.RESULT_CODE){
        String stringExtra = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);
        Gson gson=new Gson();
        Type type = new TypeToken<ArrayList<ChannelBean>>() {
        }.getType();
        channelBeans=gson.fromJson(stringExtra,type);
        for (int i=0;i<channelBeans.size();i++){
            if(channelBeans.get(i).isSelect()){
                tabLayout.addTab(tabLayout.newTab().setText(channelBeans.get(i).getName()));
            }
        }
        myBase.notifyDataSetChanged();
    }
}

private void init(Bundle savedInstanceState) {
    tabLayout = findViewById(R.id.tab);
    viewPager = findViewById(R.id.viewpager);
    textView = findViewById(R.id.text);
    textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ChannelActivity.startChannelActivity(MainActivity.this,channelBeans);

        }
    });

}
class MyBase extends FragmentPagerAdapter {
    public MyBase(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        return fragments.get(i);
    }

    @Override
    public int getCount() {
      int count=0;
        for (int i=0;i<channelBeans.size();i++){
            if(channelBeans.get(i).isSelect()){
                count++;
            }
        }
        return count;
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return channelBeans.get(position).getName();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值