//创建数据库
public class MySqliteOpenHelper extends SQLiteOpenHelper{
public MySqliteOpenHelper(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) {
}
}
//dao包
public class ZhouKao3Dao {
private SQLiteDatabase db;
public ZhouKao3Dao(Context context){
MySqliteOpenHelper helper = new MySqliteOpenHelper(context);
db = helper.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());
db.insert("zhoukao3",null,values);
}
}
public List<ChannelBean> select(){
Cursor cursor = db.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 = db.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(){
db.delete("zhoukao3",null,null);
}
}
//adapter适配器中
public class MyPagerAdapter extends FragmentPagerAdapter{
// private String[] titles = {"周二","周三","周四","昨天","今天"};
private FragmentManager mFragmentManager;
List<ChannelBean> mChannelBeanList;
public MyPagerAdapter(FragmentManager fm,List<ChannelBean> mChannelBeanList) {
super(fm);
this.mFragmentManager = mFragmentManager;
this.mChannelBeanList = mChannelBeanList;
}
@Override
public Fragment getItem(int position) {
MyFragment fragment = new MyFragment();
// Bundle bundle = new Bundle();
// bundle.putString("text",titles[position]);
// fragment.setArguments(bundle);
return fragment;
}
@Override
public int getCount() {
return mChannelBeanList != null ? mChannelBeanList.size() : 0; //改动
}
@Override
public CharSequence getPageTitle(int position) {
return mChannelBeanList.get(position).getName(); //改动
}
}
//MainActivity中
private List<ChannelBean> all;
private List<ChannelBean> yuanshi;
private ZhouKao3Dao dao;
//indata()方法要在onCreate中调用
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.main_add:
ChannelActivity.startChannelActivity(this,all);
break;
}
}
public void indata(){
all = new ArrayList<>();
yuanshi = new ArrayList<>();
dao = new ZhouKao3Dao(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("周一", false); //false为可以添加的频道
ChannelBean channelBean7 = new ChannelBean("周五", false);
//我的频道
yuanshi.add(channelBean1);
yuanshi.add(channelBean2);
yuanshi.add(channelBean3);
yuanshi.add(channelBean4);
yuanshi.add(channelBean5);
//全部频道
all.add(channelBean1);
all.add(channelBean2);
all.add(channelBean3);
all.add(channelBean4);
all.add(channelBean5);
all.add(channelBean6);
all.add(channelBean7);
dao.add(all);
}else{
all.addAll(select);
List<ChannelBean> tiaojianselect = dao.tiaojianselect();
yuanshi.addAll(tiaojianselect);
}
adapter = new MyPagerAdapter(getSupportFragmentManager(),yuanshi);
viewPager.setAdapter(adapter);
}
@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);
}
}
adapter.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();
}
}