数据库
先向数据库中添加数据
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();
}
});
}
}