viewPager+tabLayout和数据库的存入取出+从数据库中取出textview展示

Viewpager和fragment的加载

private ViewPager viewPager;
    private RadioGroup radioGroup;
    private List<Fragment> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    viewPager=findViewById(R.id.viewPager);
    radioGroup=findViewById(R.id.ragdioGroup);

    list=new ArrayList<>();
    list.add(new FragmentOne());
    list.add(new FragmentTwo());
    list.add(new FragmentThree());
    list.add(new FragmentFour());
    list.add(new Fragmentfive());

    viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Fragment getItem(int i) {
            return list.get(i);
        }
    });



    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId){
                case R.id.but1:
                    viewPager.setCurrentItem(0);
                case R.id.but2:
                    viewPager.setCurrentItem(1);
                case R.id.but3:
                    viewPager.setCurrentItem(2);
                case R.id.but4:
                    viewPager.setCurrentItem(3);
                case R.id.but5:
                    viewPager.setCurrentItem(4);
            }
        }
    });

Tablayout

private TabLayout tabLayout;
    private ViewPager viewPager;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragmentone,container,false);
    }

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    tabLayout=view.findViewById(R.id.tabLayout);
    viewPager=view.findViewById(R.id.view);


    viewPager.setAdapter(new MyFragment(getChildFragmentManager()));
    tabLayout.setupWithViewPager(viewPager);
}

tablayout的是配置

public class MyFragment extends FragmentPagerAdapter {

private String[] data=new String[]{
            "推荐","热门","科技","创投","数码","技术","设计","营销"
    };

public MyFragment(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {
    switch (i){
        case 0:
            return new TuiFragment();
        case 1:
            return new ReFragment();
        case 2:
            return new KeFragment();
        case 3:
            return new KeFragment();
        case 4:
            return new KeFragment();
        case 5:
            return new KeFragment();
        case 6:
            return new KeFragment();
        case 7:
            return new KeFragment();
    }
    return null;
}

@Override
public int getCount() {
    return data.length;
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return data[position];
}

Viewpager+Tablayout的展示

private Banner banner;
    private PullToRefreshListView pull;
    private ContnetAdapter adapter;
    private UserDao userDao;
    private int mpage;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.tuifangment,container,false);
    }

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    mpage=1;
    userDao=new UserDao(getActivity());
    banner=view.findViewById(R.id.banner);
    pull=view.findViewById(R.id.library);

    adapter = new ContnetAdapter(getActivity());
    pull.setAdapter(adapter);

    pull.setMode(PullToRefreshBase.Mode.BOTH);

    pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
            mpage=1;
            load2Data();
        }

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            load2Data();
        }

    });
    load2Data();
    banner.setBannerStyle(BannerConfig.NOT_INDICATOR);
    banner.setImageLoader(new ImageLoaderInterface<ImageView>() {

        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            UserBean.DataBean dataBean= (UserBean.DataBean) path;
            com.nostra13.universalimageloader.core.ImageLoader.getInstance()
                    .displayImage(dataBean.getPic_url(),imageView);
        }

        @Override
        public ImageView createImageView(Context context) {
            ImageView imageView = new ImageView(context);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            return imageView;
        }
    });

    loadData();

}

private String Uri="http://api.expoon.com/AppNews/getNewsList/type/1/p/";
private void load2Data() {
    Util.getInstance().getRequset(Uri+mpage, UserBean.class, new Util.Callback<UserBean>() {
        @Override
        public void onSuccess(UserBean o) {
            //  null -> 网络错误  解析错误
            // -> 服务端错误

            if(o==null||!o.getIntent()){
                Toast.makeText(getActivity(),"请求错误",Toast.LENGTH_SHORT).show();
                pull.onRefreshComplete();
                return;
            }
            if(mpage==1){
                userDao.delAll();
            }
            userDao.addAll(o.getData());
            if(mpage==1){
                adapter.set2Data(o.getData());
            }else{
                adapter.add2Data(o.getData());
            }
            mpage++;
        }
    });
}

private String dataUrl="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private void loadData() {
    Util.getInstance().getRequset(dataUrl, UserBean.class, new Util.Callback<UserBean>() {
        @Override
        public void onSuccess(UserBean o) {
            if(o==null||!o.getIntent()){
                Toast.makeText(getActivity(),"请求错误",Toast.LENGTH_SHORT).show();
                return;
            }
            banner.setImages(o.getData());
            banner.start();
        }
    });
}

适配器

private List<UserBean.DataBean> data;
    private Context context;

public ContnetAdapter(Context context) {
    this.context = context;
    data=new ArrayList<>();
}

public void set2Data(List<UserBean.DataBean> mdata) {
    //this.data = data;
    data.clear();
    data.addAll(mdata);
    notifyDataSetChanged();
}
public void add2Data(List<UserBean.DataBean> mdata) {
    //this.data = data;
    data.addAll(mdata);
    notifyDataSetChanged();
}

@Override
public int getCount() {
    return data.size();
}

@Override
public UserBean.DataBean getItem(int position) {
    return data.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vh;
if(convertView==null){
    convertView=LayoutInflater.from(context).inflate(R.layout.item,parent,false);
    vh=new ViewHolder();
    vh.imageView=convertView.findViewById(R.id.pager);
    vh.textView1=convertView.findViewById(R.id.text1);
    vh.textView2=convertView.findViewById(R.id.text2);
    convertView.setTag(vh);
}else{
    vh= (ViewHolder) convertView.getTag();
}
    vh.textView1.setText(getItem(position).getNews_id());
    vh.textView2.setText(getItem(position).getNews_title());
    ImageLoader.getInstance().displayImage(getItem(position).getPic_url(),vh.imageView);
    return convertView;
}
class ViewHolder{
    ImageView imageView;
    TextView textView1,textView2;
}

SQLite

public sqlite( Context context ) {
        super(context, "User.db", null, 1);
    }

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table users(id integer primary key autoincrement," +
            "_id text," +
            "title text," +
            "context text)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

UserDao

 private sqlite sqlite;
    private SQLiteDatabase database;

public UserDao(Context context){
    sqlite sqlite = new sqlite(context);
    database=sqlite.getReadableDatabase();
}


public void add(UserBean.DataBean dataBean){
    ContentValues values = new ContentValues();
    values.put("_id",dataBean.getNews_id());
    values.put("title",dataBean.getNews_title());
    values.put("context",dataBean.getNews_summary());

    database.insert("users",null,values);
}

public void addAll(List<UserBean.DataBean> mdata){
        try {
            database.beginTransaction();
            for (UserBean.DataBean bean : mdata) {
                add(bean);
            }
            database.setTransactionSuccessful();
        }finally {
            database.endTransaction();
        }
}


public void delAll(){
    database.delete("users",null,null);
}



public List<UserBean.DataBean> select(){
    ArrayList<UserBean.DataBean> dataBeans = new ArrayList<>();
    Cursor cursor = database.query("users", null, null, null, null, null, null);
    while (cursor.moveToNext()){
       String id = cursor.getString(cursor.getColumnIndex("_id"));
       String title = cursor.getString(cursor.getColumnIndex("title"));
       String summary = cursor.getString(cursor.getColumnIndex("context"));
       UserBean.DataBean dataBean = new UserBean.DataBean(id,title,summary);
       dataBeans.add(dataBean);
   }
    return dataBeans;
}

从数据库中取出的数据用TextView展示

private TextView textView;
    private UserDao userDao;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.refargment,container,false);
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    textView=view.findViewById(R.id.textView);

    userDao=new UserDao(getActivity());

    List<UserBean.DataBean> select = userDao.select();


    StringBuffer stringBuffer = new StringBuffer();

    for (int i=0;i<select.size();i++){
        stringBuffer.append(select.get(i).getNews_title());
    }

    textView.setText(stringBuffer.toString());




}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值