频道管理

来源:互联网 发布:豆豆营销软件官方 编辑:程序博客网 时间:2024/05/16 05:39

布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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="bwei.com.myapplication.MainActivity">    <android.support.design.widget.TabLayout        android:id="@+id/mytab"        app:tabMode="scrollable"        android:layout_width="match_parent"        android:layout_height="wrap_content"        />    <ImageButton        android:id="@+id/imgBtn"        android:src="@mipmap/add_recipients_normal"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <android.support.v4.view.ViewPager        android:id="@+id/vp"        android:layout_below="@+id/mytab"        android:layout_width="match_parent"        android:layout_height="match_parent"/></RelativeLayout>
////主页面逻辑 
package bwei.com.myapplication;import android.content.Intent;import android.os.Bundle;import android.support.constraint.solver.SolverVariable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.ImageButton;import android.widget.Toast;import com.andy.library.ChannelActivity;import com.andy.library.ChannelBean;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.ArrayList;import bwei.com.myapplication.Fragment.One;public class MainActivity extends AppCompatActivity {    private ArrayList<Fragment> fragments;    private FragmentManager fm;    private ArrayList<ChannelBean> channelBeens;    String jsonStr = "";    private TabLayout mMytab;    private ImageButton mImgBtn;    private ViewPager mVp;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initData();        initView();        mImgBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ChannelActivity.startChannelActivity(MainActivity.this,channelBeens);            }        });    }    private void initView() {        fm = getSupportFragmentManager();        mMytab = (TabLayout) findViewById(R.id.mytab);        mImgBtn = (ImageButton) findViewById(R.id.imgBtn);        mVp = (ViewPager) findViewById(R.id.vp);        mMytab.setupWithViewPager(mVp);        for (int i = 0; i < channelBeens.size(); i++) {            mMytab.addTab(mMytab.newTab().setText(channelBeens.get(i).getName()).setIcon(R.mipmap.ic_launcher));//        }        //给VIewPager配置pager页        fragments = new ArrayList<Fragment>();        for(int i=0;i<channelBeens.size();i++){            One one=new One();            //向Fragment传值            Bundle b = new Bundle();            b.putString("title",channelBeens.get(i).getName());            one.setArguments(b);            fragments.add(one);//保存fragment,作为vp的pager页        }        //通过适配器配置给vp        mVp.setAdapter(new FragmentPagerAdapter(fm) {            @Override            public Fragment getItem(int position) {                return fragments.get(position);            }            @Override            public int getCount() {                return fragments.size();            }            @Override            public CharSequence getPageTitle(int position) {                return channelBeens.get(position).getName();            }        });    }    private void initData(){        //准备栏目数据        channelBeens = new ArrayList<ChannelBean>();        channelBeens.add(new ChannelBean("热点",true));        channelBeens.add(new ChannelBean("军事",true));        channelBeens.add(new ChannelBean("八卦",true));        channelBeens.add(new ChannelBean("游戏",true));        channelBeens.add(new ChannelBean("宠物",true));        channelBeens.add(new ChannelBean("汽车",true));        channelBeens.add(new ChannelBean("热卖",true));        channelBeens.add(new ChannelBean("外卖",true));        channelBeens.add(new ChannelBean("条目1",true));        channelBeens.add(new ChannelBean("条目2",true));        channelBeens.add(new ChannelBean("条目3",false));        channelBeens.add(new ChannelBean("条目4",false));        channelBeens.add(new ChannelBean("条目5",false));        channelBeens.add(new ChannelBean("条目6",false));        channelBeens.add(new ChannelBean("条目7",false));        channelBeens.add(new ChannelBean("条目8",false));        //把选择的栏目(true)数据配置给tablayout//        for (int i=0;i<channelBeens.size();i++){//            if(channelBeens.get(i).isSelect()){//                mMytab.addTab(mMytab.newTab().setText(channelBeens.get(i).getName()));//            }//        }    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        jsonStr = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);//得到栏目管理的结果        Log.i("main",jsonStr);        mMytab.removeAllTabs();//清空之前的栏目        //把新选择的栏目结果更新到tablayout上        Gson gson = new Gson();        gson = new Gson();        //进行json解析        Type type= new TypeToken<ArrayList<ChannelBean>>(){}.getType();        channelBeens = gson.fromJson(jsonStr,type);        for (int i=0;i<channelBeens.size();i++){            if(channelBeens.get(i).isSelect()){                mMytab.addTab(mMytab.newTab().setText(channelBeens.get(i).getName()));            }        }    }}

原创粉丝点击