数据库+PullToRefreshListView

跳过XML

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android
xmlns:app=“http://schemas.android.com/apk/res-auto
xmlns:tools=“http://schemas.android.com/tools
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".ui.MainActivity">

<ImageView
    android:id="@+id/img"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@mipmap/ic_launcher_round"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/time"
    android:text="5S"
    android:textSize="50sp"
    app:layout_constraintRight_toRightOf="parent"
    />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tiao"
    android:text="跳过"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    />

</android.support.constraint.ConstraintLayout>
BaseActivity
package com.example.week18.ui;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentView());
initView();
initData();
}

protected abstract void initData();

protected abstract void initView();

protected abstract int getContentView();

}

跳过页面
package com.example.week18.ui;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.week18.R;

public class MainActivity extends BaseActivity implements View.OnClickListener {

private ImageView img;
private TextView time;
private Button tiao;
private int miao=5;
private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        if (miao==0){
            startActivity(new Intent(MainActivity.this,Main2Activity.class));
            finish();
        }else {
            time.setText(miao+"S");
            miao--;
            handler.sendEmptyMessageDelayed(1,1000);
        }
    }
};
@Override
protected int getContentView() {
    return R.layout.activity_main;
}

@Override
protected void initData() {

}

protected void initView() {
    img = (ImageView) findViewById(R.id.img);
    time = (TextView) findViewById(R.id.time);
    tiao = (Button) findViewById(R.id.tiao);
    handler.sendEmptyMessageDelayed(1,1000);
    tiao.setOnClickListener(this);
}



@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.tiao:
            miao=0;
            break;
    }
}

}
Main2Activity主页面
package com.example.week18.ui;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.MenuItem;
import android.widget.FrameLayout;
import android.widget.TextView;

import com.example.week18.fragment.FragmentCla;
import com.example.week18.fragment.FragmentOne;
import com.example.week18.fragment.FragmentTwo;
import com.example.week18.R;

public class Main2Activity extends BaseActivity {

private TextView mTextMessage;

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
        = new BottomNavigationView.OnNavigationItemSelectedListener() {

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case R.id.navigation_home:
                pager.setCurrentItem(0);
                return true;
            case R.id.navigation_dashboard:
                pager.setCurrentItem(1);
                return true;
            case R.id.navigation_notifications:
                pager.setCurrentItem(2);
                return true;
            case R.id.navigation_sz:
                pager.setCurrentItem(3);
                return true;
        }
        return false;
    }
};
private ViewPager pager;
private BottomNavigationView navigation;
private FrameLayout clxm;
private DrawerLayout cl;
private ActionBarDrawerToggle toggle;
@Override
protected int getContentView() {
    return R.layout.activity_main2;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    initView();
    pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            switch (i){
                case 0:
                    return new FragmentOne();
                case 1:
                    return new FragmentTwo();
                case 2:
                    return new FragmentTwo();
                case 3:
                    return new FragmentTwo();
            }
            return null;
        }

        @Override
        public int getCount() {
            return 4;
        }
    });

    mTextMessage = (TextView) findViewById(R.id.message);
    final BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
    navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
            switch (i){
                case 0:
                    navigation.setSelectedItemId(R.id.navigation_home);
                    break;
                case 1:
                    navigation.setSelectedItemId(R.id.navigation_dashboard);
                    break;
                case 2:
                    navigation.setSelectedItemId(R.id.navigation_notifications);
                    break;
                case 3:
                    navigation.setSelectedItemId(R.id.navigation_sz);
                    break;

            }
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.clxm,new FragmentCla())
            .commit();
    toggle=new ActionBarDrawerToggle(this,cl,R.string.drawable_indfdfd,R.string.drawable_color);
    toggle.syncState();
    cl.addDrawerListener(toggle);
}

@Override
protected void initData() {

}

protected void initView() {
    pager = (ViewPager) findViewById(R.id.pager);
    navigation = (BottomNavigationView) findViewById(R.id.navigation);
    clxm = (FrameLayout) findViewById(R.id.clxm);
    cl = (DrawerLayout) findViewById(R.id.cl);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (toggle.onOptionsItemSelected(item)){
        return true;
    }
    return super.onOptionsItemSelected(item);
}
public void dianji(){
    cl.closeDrawer(Gravity.START);
}
public void liando(int i){
    pager.setCurrentItem(i);
    dianji();
}

}
侧拉主页面
package com.example.week18.fragment;

import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.week18.R;
import com.example.week18.adapter.ClaAdapter;
import com.example.week18.ui.Main2Activity;

public class FragmentCla extends BaseFragment {

private ListView lv;
private ClaAdapter claAdapter;

@Override
protected int getConetView() {
    return R.layout.fragmentcl;
}

@Override
protected void initData() {

}

@Override
protected void initView(View view) {
    lv = view.findViewById(R.id.lv);
    claAdapter = new ClaAdapter(getActivity());
    lv.setAdapter(claAdapter);
    lv.setOnItemClickListener(null);
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            if (position==0){
                ((Main2Activity)getActivity()).dianji();
            }
            ((Main2Activity)getActivity()).liando(position-1);
        }
    });
}

}
侧拉适配器
package com.example.week18.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.week18.R;

import java.util.List;

public class ClaAdapter extends BaseAdapter {
private Context context;
private String[] list;
private final int one=0;
private final int two=1;

public ClaAdapter(Context context) {
    this.context = context;
    list=context.getResources().getStringArray(R.array.page_name);
}


@Override
public int getCount() {
    return list.length+1;
}

@Override
public String getItem(int position) {
    if (position==0){
        return "";
    }
    return list[position-1];
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (getItemViewType(position)==one){
        ViewHolder viewHolder;
        if (convertView==null){
            convertView=LayoutInflater.from(context).inflate(R.layout.clat,parent,false);
            viewHolder=new ViewHolder(convertView);
        }else {
            viewHolder= (ViewHolder) convertView.getTag();
        }
        viewHolder.name.setText("靖建涛");
    }else {
        ViewHolder1 viewHolder1;
        if (convertView==null){
            convertView=LayoutInflater.from(context).inflate(R.layout.clazt,parent,false);
            viewHolder1=new ViewHolder1(convertView);
        }else {
            viewHolder1= (ViewHolder1) convertView.getTag();
        }
        viewHolder1.name.setText(getItem(position));
    }
    return convertView;
}
class ViewHolder{
    TextView name;
    ImageView img;
    public ViewHolder(View v){
        this.name=v.findViewById(R.id.name);
        this.img=v.findViewById(R.id.img);
        v.setTag(this);
    }
}
class ViewHolder1{
    TextView name;
    public ViewHolder1(View v){
        this.name=v.findViewById(R.id.name);
        v.setTag(this);
    }
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
    if (position==one){
        return one;
    }else {
        return two;
    }
}

}
fragmentOne主页面
package com.example.week18.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import com.example.week18.R;
import com.example.week18.adapter.HomePagerAdapter;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.ArrayList;
import java.util.List;

public class FragmentOne extends BaseFragment {

private TabLayout tab;
private ViewPager pager;
private HomePagerAdapter homePagerAdapter;
private List<ChannelBean> list;
private Button but;

@Override
protected int getConetView() {
    return R.layout.fragmentone;
}

@Override
protected void initData() {
    list = new ArrayList<>();
    list.add(new ChannelBean("军事",true));
    list.add(new ChannelBean("犹如",true));
    list.add(new ChannelBean("推特",true));

    list.add(new ChannelBean("微博",false));
    list.add(new ChannelBean("博客",true));
    list.add(new ChannelBean("CSDN",false));

    list.add(new ChannelBean("体育",false));
    list.add(new ChannelBean("教育",false));
    list.add(new ChannelBean("学习",false));
}

@Override
protected void initView(View view) {
    tab = view.findViewById(R.id.tab);
    pager = view.findViewById(R.id.pagera);
    homePagerAdapter = new HomePagerAdapter(getChildFragmentManager());
    pager.setAdapter(homePagerAdapter);
    tab.setupWithViewPager(pager);

    but = view.findViewById(R.id.but);
    but.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ChannelActivity.startChannelForResult(getActivity(),list);
        }
    });
}

@Override
public 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);

        List<ChannelBean> list111 = new Gson().fromJson(stringExtra, new TypeToken<List<ChannelBean>>() {

        }.getType());
    }
}

}
头部导航
package com.example.week18.adapter;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import com.example.week18.fragment.FragmentHb;
import com.example.week18.fragment.FragmentJjsy;
import com.example.week18.fragment.FragmentZzry;

public class HomePagerAdapter extends FragmentPagerAdapter {
private String[] names=new String[]{
“热门影片”,“正在上映”,“即将上映”
};
public HomePagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int i) {
    switch (i){
        case 0:
            return new FragmentZzry();
        case 1:
            return new FragmentJjsy();
         default:
             return new FragmentHb();
    }
}

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

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

}
SQLtile数据库
package com.example.week18.sql;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class SQLtile extends SQLiteOpenHelper {
public SQLtile(Context context) {
super(context, “User”, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table usera(id integer primary key autoincrement," +
            "name text UNIQUE," +
            "summary text," +
            "imageUrl text)");
}

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

}

}
UserDa
package com.example.week18.user;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v4.view.ViewPager;

import com.example.week18.sql.SQLtile;

import java.util.ArrayList;
import java.util.List;

public class UserDao {

private final SQLiteDatabase db;

public UserDao(Context context){
    SQLtile sqLtile = new SQLtile(context);
    db = sqLtile.getWritableDatabase();
}
//添加
public void add(String name,String summary,String imageUrl){
    ContentValues values=new ContentValues();
    values.put("name",name);
    values.put("summary",summary);
    values.put("imageUrl",imageUrl);
    db.insert("usera",null,values);
}
//查询
public List<UserZz.ResultBean> selete(){
    Cursor query = db.query("usera", null, null, null, null, null, null);
    List<UserZz.ResultBean> list=new ArrayList<>();
    while (query.moveToNext()){
        String name = query.getString(query.getColumnIndex("name"));
        String summary = query.getString(query.getColumnIndex("summary"));
        String imageUrl = query.getString(query.getColumnIndex("imageUrl"));
        UserZz.ResultBean resultBean = new UserZz.ResultBean();
        resultBean.setName(name);
        resultBean.setSummary(summary);
        resultBean.setImageUrl(imageUrl);
        list.add(resultBean);
    }
    return list;
}
public void delete(String name){
    db.delete("usera","name=?",new String[]{name});
}

}
FragmentZhu
package com.example.week18.fragment;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

import com.example.week18.R;
import com.example.week18.adapter.MyAdapterzz;
import com.example.week18.nutie.Netile;
import com.example.week18.user.UserDao;
import com.example.week18.user.UserZz;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class FragmentZzry extends BaseFragment {

private PullToRefreshListView plv;
private MyAdapterzz myAdapterzz;
private int page = 0;
private final int count = 10;
private final int ling = 0;
private UserDao userDao;
private String auiUrl = "http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=";

@Override
protected int getConetView() {
    return R.layout.fragmentzzry;
}

@Override
protected void initView(View view) {
    plv = view.findViewById(R.id.plv);
    myAdapterzz = new MyAdapterzz(getActivity());
    plv.setAdapter(myAdapterzz);
    plv.setMode(PullToRefreshListView.Mode.BOTH);
    plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
            page = 1;
            initData();
        }

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            initData();
        }
    });
    userDao = new UserDao(getActivity());
    if (new Netile().isInten(getActivity())) {
        page = 1;
        initData();
   } else {
        List<UserZz.ResultBean> selete = userDao.selete();
        myAdapterzz.setList(selete);
        Toast.makeText(getActivity(), "无网络", ling).show();
    }

}

@Override
protected void initData() {
    new Netile().getquert4(auiUrl + page, UserZz.class, new Netile.Nettoerr() {
        @Override
        public void onSUccess(Object o) {
            UserZz userZz = (UserZz) o;
            List<UserZz.ResultBean> result = userZz.getResult();
            if (new Netile().isInten(getActivity())){
                for (int i=0;i<result.size();i++){
                    userDao.add(result.get(i).getName(),result.get(i).getSummary(),result.get(i).getImageUrl());
                }
                if (result == null) {
                    plv.onRefreshComplete();
                    return;
                }
                if (page == 1) {
                    myAdapterzz.setList(result);
                } else {
                    myAdapterzz.addList(result);
                }
                plv.onRefreshComplete();
                page++;
            }else {
                return;
            }

        }

        @Override
        public void onFail(String msg) {
            Toast.makeText(getActivity(), "请求失败", ling).show();
            plv.onRefreshComplete();
        }
    });
}

}
FragmentZhu适配器
package com.example.week18.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.week18.R;
import com.example.week18.user.UserZz;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

public class MyAdapterzz extends BaseAdapter {
private Context context;
private List<UserZz.ResultBean> list;

public MyAdapterzz(Context context) {
    this.context = context;
    this.list=new ArrayList<>();
}

public void setList(List<UserZz.ResultBean> list) {
    if (list!=null){
        this.list = list;
    }
    notifyDataSetChanged();
}
public void addList(List<UserZz.ResultBean> list1) {
    if (list!=null){
        list.addAll(list1);
    }
    notifyDataSetChanged();
}

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

@Override
public Object getItem(int position) {
    return null;
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder;
    if (convertView==null){
        convertView=LayoutInflater.from(context).inflate(R.layout.shu1,parent,false);
        viewHolder=new ViewHolder();
        viewHolder.name=convertView.findViewById(R.id.name);
        viewHolder.summary=convertView.findViewById(R.id.summary);
        viewHolder.img=convertView.findViewById (R.id.img);
        convertView.setTag(viewHolder);
    }else {
        viewHolder= (ViewHolder) convertView.getTag();
    }
    viewHolder.name.setText(list.get(position).getName());
    viewHolder.summary.setText(list.get(position).getSummary());
    DisplayImageOptions options=new DisplayImageOptions
            .Builder()
            .cacheOnDisk(true)
            .cacheInMemory(true)
            .build();
    ImageLoader.getInstance().displayImage(list.get(position).getImageUrl(),viewHolder.img,options);

    return convertView;
}
class ViewHolder{
    TextView name,summary;
    ImageView img;
}

}
抽基类
package com.example.week18.nutie;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Handler;
import android.widget.Toast;

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Netile {
private Handler handler=new Handler();
public interface Nettoerr{
void onSUccess(Object o);
void onFail(String msg);
}
public void getquert4(final String auiUrl, final Class classa, final Nettoerr nettoerr){
new Thread(new Runnable() {
@Override
public void run() {
final Object o = getquert2(auiUrl, classa);
handler.post(new Runnable() {
@Override
public void run() {
if(o == null) {
nettoerr.onFail(“请求失败”);
} else {
nettoerr.onSUccess(o);
}
}
});
}
}).start();
}
public void getquert3(String auiUrl,final Class classa,final Nettoerr nettoerr){
new AsyncTask<String, Void, Object>() {
@Override
protected Object doInBackground(String… strings) {
return getquert2(strings[0],classa);
}

        @Override
        protected void onPostExecute(Object o) {
            if (o==null){
                nettoerr.onFail("请求失败");
            }else {
                nettoerr.onSUccess(o);
            }
        }
    }.execute(auiUrl);
}

private  <T> T getquert2(String auiUrl,Class classa){
    Object obj=null;
    String getquert = getquert(auiUrl);
    obj=new Gson().fromJson(getquert,classa);
    return (T) obj;
}

public String getquert(String auiUrl){
    String retyewu="";
    try {
        URL url=new URL(auiUrl);
        HttpURLConnection urlConnection= (HttpURLConnection) url.openConnection();
        if (urlConnection.getResponseCode()==200){
            InputStream inputStream = urlConnection.getInputStream();
            retyewu = staunch2String(inputStream);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return retyewu;
}

public String staunch2String(InputStream inputStream) throws IOException {
    StringBuffer stringBuffer = new StringBuffer();
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    for (String tmp=bufferedReader.readLine();tmp!=null;tmp=bufferedReader.readLine()){
        stringBuffer.append(tmp);
    }
    return stringBuffer.toString();
}
public boolean isInten(Context context){
    ConnectivityManager cm= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
    return activeNetworkInfo!=null && activeNetworkInfo.isAvailable();
}

}
Mapper
package com.example.week18.imga;

import android.app.Application;
import android.os.Environment;

import com.andy.library.AppApplication;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import java.io.File;

public class Mapp extends AppApplication {
File file=new File(Environment.getExternalStorageDirectory(),“bbbbbb”);
@Override
public void onCreate() {
super.onCreate();

    ImageLoader.getInstance().init(new ImageLoaderConfiguration
            .Builder(this)
            .diskCache(new UnlimitedDiskCache(file))
            .memoryCacheSize(20)
            .diskCacheSize(50*1024*1024)
            .build());
}

}
BaseFragment
package com.example.week18.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public abstract class BaseFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(getConetView(),container,false);
}

protected abstract int getConetView();

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

protected abstract void initData();

protected abstract void initView(View view);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值