您的位置:首页 > 其它

TabLayout与频道拖拽联合+listview多条目+listview点击跳转

2017-08-18 20:16 337 查看
创建数据库

public class DBUtils {
private final SQLiteDatabase db;
public DBUtils(Context context) {
SQLite sqLite = new SQLite(context);
db = sqLite.getWritableDatabase();
}
//添加方法
public void add(List<ChannelBean> channelBeanList) {
if (channelBeanList == null || channelBeanList.size() < 0) {
return;
}
for (ChannelBean channelBean : channelBeanList) {
ContentValues values = new ContentValues();
values.put("name", channelBean.getName());
values.put("selected", channelBean.isSelect());
db.insert("channels", null, values);
}
}
//查询全部的方法
public List<ChannelBean> chaxun(){
Cursor cursor = db.query("channels", null, null, null, null, null, null);
List<ChannelBean> channelBeanList = new ArrayList<>();
ChannelBean channelBean;
while (cursor.moveToNext()) {
String name = cursor.getString(curs
4000
or.getColumnIndex("name"));
int selected = cursor.getInt(cursor.getColumnIndex("selected"));
channelBeanList.add(new ChannelBean(name, selected == 0 ? false : true));
}
cursor.close();
return channelBeanList;
}
//条件查询
public List<ChannelBean> tiaojian(){
Cursor cursor = db.query("channels//表名", null, "selected=?", new String[]{"1"}, null, null, null);
List<ChannelBean> channelBeanList = new ArrayList<>();
ChannelBean channelBean;
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int selected = cursor.getInt(cursor.getColumnIndex("selected"));
channelBeanList.add(new ChannelBean(name, selected == 0 ? false : true));
}
cursor.close();
return channelBeanList;
}
//清除方法
public void clearChannels() {
db.delete("channels", null, null);
}
}

MyAdapter类:

public class MyAdapter extends FragmentPagerAdapter {

List<ChannelBean> mChannelBeanList;
public MyAdapter(FragmentManager fm,List<ChannelBean> channelBeanList) {
super(fm);
mChannelBeanList = channelBeanList;
}

@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();
}
}

条目点击事件:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getActivity(),Second.class);
intent.putExtra("label_text",list.get(position).getLabel_text());
startActivity(intent);
}
});

主界面:

public class MainActivity extends AppCompatActivity {

private TabLayout tabLayout;
private ViewPager viewPager;
private TextView pindao;
private List<ChannelBean> qunabu;
private List<ChannelBean> tiaojian;
private DBUtils dbUtils;
private MyAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = (TabLayout) findViewById(R.id.tablayout);
viewPager = (ViewPager) findViewById(R.id.viewpager);
tabLayout.setupWithViewPager(viewPager);
viewPager.setOffscreenPageLimit(7);
pindao = (TextView) findViewById(R.id.pindao);
pindao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ChannelActivity.startChannelActivity(MainActivity.this, qunabu);
}
});
initData();
}

private void initData() {
qunabu = new ArrayList<>();
tiaojian = new ArrayList<>();
dbUtils = new DBUtils(this);
List<ChannelBean> chaxun = dbUtils.chaxun();
if(chaxun == null || chaxun.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("昨天", false);
tiaojian.add(channelBean1);
tiaojian.add(channelBean2);
tiaojian.add(channelBean3);
qunabu.add(channelBean1);
qunabu.add(channelBean2);
qunabu.add(channelBean3);
qunabu.add(channelBean4);
qunabu.add(channelBean5);
qunabu.add(channelBean6);
qunabu.add(channelBean7);
dbUtils.add(qunabu);
}else {
qunabu.addAll(chaxun);
List<ChannelBean> tj = dbUtils.tiaojian();
tiaojian.addAll(tj);
}
adapter = new MyAdapter(getSupportFragmentManager(),tiaojian);
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;
}
qunabu.clear();
tiaojian.clear();
qunabu.addAll(list);
for (ChannelBean channelBean : list) {
boolean select = channelBean.isSelect();
if (select) {
tiaojian.add(channelBean);
}
}
adapter.notifyDataSetChanged();
dbUtils.clearChannels();
dbUtils.add(qunabu);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐