频道管理

数据库
先向数据库中添加数据

db.execSQL("create table user1(id integer primary key autoincrement,t text)")
db.execSQL("insert into user1 values(null,'头条')");
db.execSQL("insert into user1 values(null,'关注')");
db.execSQL("insert into user1 values(null,'视频')");
db.execSQL("create table user2(id integer primary key autoincrement,g text)")
db.execSQL("insert into user2 values(null,'娱乐')");
db.execSQL("insert into user2 values(null,'体育')");
db.execSQL("insert into user2 values(null,'新时')");
db.execSQL("insert into user2 values(null,'北京')");
db.execSQL("insert into user2 values(null,'财经')");
db.execSQL("insert into user2 values(null,'图片')");
db.execSQL("insert into user2 values(null,'直播')");

跳转页面 接收回传值 重新设置viewpager和tablayout

public class Fragment01 extends BaseFragment {

private TabLayout tab_layout;
private ViewPager view_pager;
private Button btn_tiao;
private SQLiteDatabase database;
private ArrayList<Fragment> fList;
private ArrayList<String> tList;
private MyAdapter adapter;

@Override
protected int bindLayout() {
    return R.layout.frag01;
}

@Override
protected void initView() {
    tab_layout = getId(R.id.tab_layout);
    view_pager = getId(R.id.view_pager);
    btn_tiao = getId(R.id.btn_tiao);
    MyHelper helper = new MyHelper(getActivity());
    database = helper.getWritableDatabase();
}

@Override
protected void getData() {
    //初始化数据
    fList = new ArrayList<>();
    //初始化tab数据
    tList = new ArrayList<>();
    //查询数据库
    Cursor cursor = database.query("user1", null, null, null, null, null, null);
    while (cursor.moveToNext()){
        String t = cursor.getString(cursor.getColumnIndex("t"));
        tList.add(t);
    }
    //创建viewpager页面(viewpager页面要跟tablayout的数量一样的)
    for (int i=0;i<tList.size();i++){
        if (i==0){
            fList.add(new Tab01());
        }else if (i==2){
            fList.add(new Tab02());
        }else{
            fList.add(new Tab03());
        }
    }
    //创建适配器
    adapter = new MyAdapter(getActivity().getSupportFragmentManager(), fList, tList);
    view_pager.setAdapter(adapter);
    //綁定
    tab_layout.setupWithViewPager(view_pager);
}

@Override
protected void bindEvent() {
    //点击按钮跳转
    btn_tiao.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(getActivity(), SecondActivity.class);
            intent.putStringArrayListExtra("key",tList);
            startActivityForResult(intent,100);
        }
    });
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode==100&&resultCode==99){
        ArrayList<String> list = data.getStringArrayListExtra("key");
        Log.d("aaa",list.toString());
        tList.clear();
        fList.clear();
        //清空所有的tab数据
        tab_layout.removeAllTabs();
        tList.addAll(list);
        for (int i=0;i<tList.size();i++){
        //创建一个tab
            TabLayout.Tab tab = tab_layout.newTab();
            //设置标题
            tab.setText(list.get(i));
            把tab重新添加到tab_layou控件中
            tab_layout.addTab(tab);
            //重新添加viewpager页面
            if (i==0){
                fList.add(new Tab01());
            }else{
                fList.add(new Tab03());
            }
            adapter.notifyDataSetChanged();
            //重新绑定一下
            tab_layout.setupWithViewPager(view_pager);
        }
        }
    }
}}

SecondActivity页面(频道管理页面)

public class SecondActivity extends BaseActivity {

    private GridView grid_view1;
    private GridView grid_view2;
    private TextView wangcheng;
    private SQLiteDatabase database;
    private ArrayList<String> list1;
    private ArrayList<String> list2;
    private GridAdapter adapter2;
    private GridAdapter adapter1;

    @Override
    protected int bindLayout() {
        return R.layout.activity_second;
    }

    @Override
    protected void initView() {
        wangcheng = getId(R.id.wangcheng);
        grid_view1 = getId(R.id.grid_view1);
        grid_view2 = getId(R.id.grid_view2);
    }

    @Override
    protected void getData() {
        MyHelper helper = new MyHelper(SecondActivity.this);
        database = helper.getWritableDatabase();
        //接收传值
        Intent intent = getIntent();
        ArrayList<String> list = intent.getStringArrayListExtra("key");
        list1=new ArrayList<>();
        list1.addAll(list);
        //添加到grid1
        adapter1 = new GridAdapter(SecondActivity.this,list1);
        grid_view1.setAdapter(adapter1);
        //查询数据库
        Cursor cursor = database.query("user2", null, null, null, null, null, null);
        list2=new ArrayList<>();
        while (cursor.moveToNext()){
            String t = cursor.getString(cursor.getColumnIndex("g"));
            list2.add(t);
        }
        adapter2 = new GridAdapter(SecondActivity.this,list2);
        grid_view2.setAdapter(adapter2);
    }

    @Override
    protected void bindEvent() {
        grid_view1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String s = list1.get(position);
                int delete = database.delete("user1", "t=?", new String[]{list1.get(position)});
                //Log.d("aaa",delete+"");
                if (delete>0){
                    ContentValues values=new ContentValues();
                    values.put("g",s);
                    database.insert("user2",null,values);
                    list1.remove(position);
                    list2.add(s);
                }
                adapter1.notifyDataSetChanged();
                adapter2.notifyDataSetChanged();

            }
        });
        grid_view2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //获取点击条目所对应的值
                String s = list2.get(position);
                //根据值删除对应数据库1中的值
                int delete = database.delete("user2", "g=?", new String[]{list2.get(position)});
                if (delete>0){
                //如果删除成功  把删除成功的值添加到数据库2中
                    ContentValues values=new ContentValues();
                    values.put("t",s);
                    database.insert("user1",null,values);
                    list2.remove(position);
                    list1.add(s);
                }
                adapter1.notifyDataSetChanged();
                adapter2.notifyDataSetChanged();

            }
        });
        wangcheng.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent();
                intent.putStringArrayListExtra("key",list1);
                setResult(99,intent);
                finish();
            }
        });
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值