Tablayout与视频拖拽相对应

主界面
public class MainActivity extends AppCompatActivity {
    private TabLayout tablayout;
    private ViewPager viewpager;
    private List<ChannelBean> all;
    private List<ChannelBean> yuanshi;
    private Dao dao;
    private Myadapter myadapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tablayout = (TabLayout) findViewById(R.id.tab);
        viewpager = (ViewPager) findViewById(R.id.viewpager);
        tablayout.setupWithViewPager(viewpager);
        viewpager.setOffscreenPageLimit(9);
        indate();
    }
    public void button(View view){
        ChannelActivity.startChannelActivity(this, all);
    }
    //"推荐","北京","视频","社会","微博","生活","军事","教育","应用"
    public void indate(){
        all = new ArrayList<>();
        yuanshi = new ArrayList<>();
        dao = new Dao(this);
        List<ChannelBean> select = dao.select();
        if (select==null||select.size()<1){
            ChannelBean channelBean1=new ChannelBean("推荐",true);
            ChannelBean channelBean2=new ChannelBean("北京",true);
            ChannelBean channelBean3=new ChannelBean("视频",true);
            ChannelBean channelBean4=new ChannelBean("社会",true);
            ChannelBean channelBean5=new ChannelBean("微博",true);
            ChannelBean channelBean6=new ChannelBean("生活",true);
            ChannelBean channelBean7=new ChannelBean("军事",true);
            ChannelBean channelBean8=new ChannelBean("教育",false);
            ChannelBean channelBean9=new ChannelBean("应用",false);
            yuanshi.add(channelBean1);
            yuanshi.add(channelBean2);
            yuanshi.add(channelBean3);
            yuanshi.add(channelBean4);
            yuanshi.add(channelBean5);
            yuanshi.add(channelBean6);
            yuanshi.add(channelBean7);
            all.add(channelBean1);
            all.add(channelBean2);
            all.add(channelBean3);
            all.add(channelBean4);
            all.add(channelBean5);
            all.add(channelBean6);
            all.add(channelBean7);
            all.add(channelBean8);
            all.add(channelBean9);
            dao.add(all);
        }else {
            all.addAll(select);
            List<ChannelBean> tiaojianselect = dao.tiaojianselect();
            yuanshi.addAll(tiaojianselect);
        }
        myadapter = new Myadapter(getSupportFragmentManager(), yuanshi);
        viewpager.setAdapter(myadapter);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //频道方法
        if (requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE) {
            String stringExtra = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);
            if (TextUtils.isEmpty(stringExtra)) {
                return;
            }
            List<ChannelBean> list = new Gson().fromJson(stringExtra, new TypeToken<List<ChannelBean>>() {
            }.getType());
            if (list == null || list.size() < 1) {
                return;
            }
            all.clear();
            yuanshi.clear();
            //将返回的数据,添加到我们的集合中
            all.addAll(list);
            for (ChannelBean channelBean : list) {
                boolean select = channelBean.isSelect();
                if (select) {
                    yuanshi.add(channelBean);
                }
            }
            myadapter.notifyDataSetChanged();
            //保存数据库
            dao.delete();
            dao.add(all);
            FragmentManager supportFragmentManager = getSupportFragmentManager();
            List<Fragment> fragments = supportFragmentManager.getFragments();
            FragmentTransaction transaction = supportFragmentManager.beginTransaction();
            for (Fragment f : fragments
                    ) {
                transaction.remove(f);
            }
            transaction.commitAllowingStateLoss();
            recreate();
        }
    }
}
适配器
public class Myadapter extends FragmentPagerAdapter {
    //private String[] title={"推荐","北京","视频","社会","微博","生活","军事","教育","应用"};
    private FragmentManager mFragmentManager;
    List<ChannelBean> mChannelBeanList;
    public Myadapter(FragmentManager fm, List<ChannelBean> mChannelBeanList) {
        super(fm);
        this.mFragmentManager = mFragmentManager;
        this.mChannelBeanList = mChannelBeanList;
    }
    @Override
    public Fragment getItem(int position) {
        MyFragment myFragment=new MyFragment();
//        Bundle bundle=new Bundle();
//        bundle.putString("text",mChannelBeanList.get(position).getName());
//        myFragment.setArguments(bundle);
        return myFragment;
    }
    @Override
    public int getCount() {
        return mChannelBeanList!=null?mChannelBeanList.size():0;
    }
    @Override
    public CharSequence getPageTitle(int position) {
        return mChannelBeanList.get(position).getName();
    }
}
创建数据库
public class Sqlite extends SQLiteOpenHelper {
    public Sqlite(Context context) {
        super(context, "zhoukao3.db", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table zhoukao3(name varchar(20),selected Integer)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}
添加查询删除类
public class Dao {
    private final SQLiteDatabase dao;
    public Dao(Context context){
        Sqlite sqlite=new Sqlite(context);
        dao = sqlite.getWritableDatabase();
    }
    public void add(List<ChannelBean> channelBeenlist){
        if (channelBeenlist==null||channelBeenlist.size()<0){
            return;
        }
        for (ChannelBean channelbean:channelBeenlist
             ) {
            ContentValues values=new ContentValues();
            values.put("name",channelbean.getName());
            values.put("selected",channelbean.isSelect());
            dao.insert("zhoukao3",null,values);
        }
    }
    public List<ChannelBean> select(){
        Cursor cursor = dao.query("zhoukao3", null, null, null, null, null,null);
        List<ChannelBean> list=new ArrayList<>();
        while (cursor.moveToNext()){
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int selected = cursor.getInt(cursor.getColumnIndex("selected"));
            list.add(new ChannelBean(name,selected==0?false:true));
        }
        cursor.close();
        return list;
    }
    public List<ChannelBean> tiaojianselect(){
        Cursor cursor = dao.query("zhoukao3", null, "selected=?", new String[]{"1"}, null, null, null);
        List<ChannelBean> list=new ArrayList<>();
        while (cursor.moveToNext()){
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int selected = cursor.getInt(cursor.getColumnIndex("selected"));
            list.add(new ChannelBean(name,selected==0?false:true));
        }
        cursor.close();
        return list;
    }
    public void delete(){
        dao.delete("zhoukao3",null,null);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值