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