PullToRefresh

//倒计时跳转
public class MainActivity extends AppCompatActivity {

    private TextView tv;

    int count=3;

    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==200){
                if(count<0){
                    Intent intent = new Intent(MainActivity.this,TwoActivity3.class);
                    startActivity(intent);
                    finish();
                    return;
                }
            }

            tv.setText(count--+"秒");
            handler.sendEmptyMessageDelayed(200,1000);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv = findViewById(R.id.tv);
        handler.sendEmptyMessage(200);

    }
}


//总页面
public class TwoActivity3 extends AppCompatActivity {

    String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
    private FrameLayout fl;
    private RadioGroup rg;
    private LinearLayout ll;
    private ImageView iv;
    private ListView lv;
    private DrawerLayout dl;
    private Frag_01 frag_01;
    private Frag_02 frag_02;
    private Frag_03 frag_03;
    private FragmentManager manager;
    private FragmentTransaction f3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_two3);

        fl = findViewById(R.id.fl);
        rg = findViewById(R.id.rg);
        ll = findViewById(R.id.ll);
        iv = findViewById(R.id.iv);
        lv = findViewById(R.id.lv);
        dl = findViewById(R.id.dl);

        ArrayList<Fragment> list = new ArrayList<Fragment>();
        frag_01 = new Frag_01();
        frag_02 = new Frag_02();
        frag_03 = new Frag_03();

        manager = getSupportFragmentManager();
        FragmentTransaction f1 = manager.beginTransaction();
        f1.add(R.id.fl,frag_01).show(frag_01);
        f1.add(R.id.fl,frag_02).hide(frag_02);
        f1.add(R.id.fl,frag_03).hide(frag_03);
        f1.commit();

        rg.check(rg.getChildAt(0).getId());
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                FragmentTransaction f2 = manager.beginTransaction();
                switch (checkedId){
                    case 1:
                        f2.show(frag_01).hide(frag_02).hide(frag_03);
                        break;
                    case 2:
                        f2.show(frag_02).hide(frag_01).hide(frag_03);
                        break;
                    case 3:
                        f2.show(frag_03).hide(frag_02).hide(frag_01);
                        break;
                }
                f2.commit();
            }
        });


    //侧拉
        ArrayList<String> clist = new ArrayList<String>();
        clist.add("第一个页面");
        clist.add("第二个页面");
        clist.add("第三个页面");
        CMyAdapter cMyAdapter = new CMyAdapter(this,clist);
        lv.setAdapter(cMyAdapter);
    //圆角图片
        ImageLoader instance = ImageLoader.getInstance();
        instance.displayImage(urlBitmap,iv,Images.getImg());

    //点击跳转
        f3 = manager.beginTransaction();
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position){
                    case 0:
                        f3.show(frag_01).hide(frag_03).hide(frag_02);
                        rg.check(rg.getChildAt(0).getId());
                        break;
                    case 1:
                        f3.show(frag_02).hide(frag_03).hide(frag_01);
                        rg.check(rg.getChildAt(1).getId());
                        break;
                    case 2:
                        f3.show(frag_03).hide(frag_01).hide(frag_02);
                        rg.check(rg.getChildAt(2).getId());
                        break;
                }
                dl.closeDrawers();
            }
        });

    }
}

//总布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/dl"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TwoActivity3">

    <FrameLayout
        android:id="@+id/fl"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </FrameLayout>

    <RadioGroup
        android:layout_marginTop="920dp"
        android:id="@+id/rg"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="50dp"
        android:orientation="horizontal">

        <RadioButton
            android:background="@drawable/sel_bt"
            android:gravity="center"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="页面一"/>
        <RadioButton
            android:background="@drawable/sel_bt"
            android:gravity="center"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="页面er"/>
        <RadioButton
            android:background="@drawable/sel_bt"
            android:gravity="center"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="页面san"/>
    </RadioGroup>

    <LinearLayout
        android:id="@+id/ll"
        android:background="#0bbfff"
        android:layout_gravity="start"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/iv"
            android:layout_marginLeft="200dp"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@mipmap/ic_launcher"/>
        <ListView
            android:id="@+id/lv"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </ListView>

    </LinearLayout>

</android.support.v4.widget.DrawerLayout>

侧拉的适配器
public class CMyAdapter extends BaseAdapter {

    private Con![在这里插入图片描述](https://img-blog.csdnimg.cn/20181122135443965.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTY2ODk1,size_16,color_FFFFFF,t_70)text context;
    private ArrayList<String> clist;
    private TextView ctv;

    public CMyAdapter(Context context, ArrayList<String> clist) {
        this.context = context;
        this.clist = clist;
    }

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

    @Override
    public Object getItem(int position) {
        return clist.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        convertView = View.inflate(context, R.layout.citem,null);
        ctv = convertView.findViewById(R.id.ctv);
        ctv.setText(clist.get(position).toString());
        return convertView;
    }
}
//圆角图片
class Images {
    public static DisplayImageOptions getImg() {

        DisplayImageOptions build = new DisplayImageOptions.Builder()
                .displayer(new RoundedBitmapDisplayer(100))
                .build();

        return build;
    }

//轮播图
//pull ToRe fresh
class BlankFragment1 extends android.support.v4.app.Fragment {

    String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
    public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
    ArrayList<Bean.DataBean> list = new ArrayList<Bean.DataBean>();
    private Banner banner;
    private PullToRefreshListView pull;
    ArrayList<String> blist =  new  ArrayList<String>();
    private MyAdapter myAdapter;
    int page;
    private Dao dao;
    private String st;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.f1,container,false);

        banner = view.findViewById(R.id.banner);
        pull = view.findViewById(R.id.pull);
        dao = new Dao(getActivity());


        //轮播图
        blist.add(urlBitmap);
        blist.add(urlBitmap);
        blist.add(urlBitmap);
        banner.setImageLoader(new ImageLoders());
        banner.setImages(blist);
        banner.start();

        //上下拉刷新
        myAdapter = new MyAdapter(getActivity(),list);
        pull.setAdapter(myAdapter);
        initData(0);
        pull.setMode(PullToRefreshBase.Mode.BOTH);
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                list.clear();
                page=0;
                initData(0);
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                page++;
                initData(page);
            }
        });

        return view;
    }

    private void initData(int page) {
        st = urlString+page;
        if (Internet.getNet(getContext())){
            new MAsTask().execute(st);
        }
        else {
            Toast.makeText(getActivity(), "请联网,谢谢!", Toast.LENGTH_SHORT).show();
            String s = dao.queryData(st);

            if (!s.isEmpty()){
                Gson gson = new Gson();
                Bean bean = gson.fromJson(s, Bean.class);
                List<Bean.DataBean> data = bean.getData();
                list.addAll(data);
                myAdapter.notifyDataSetChanged();
                pull.onRefreshComplete();
            }

        }

    }

//判断是否网络
class Internet {
    public static boolean getNet(Context context) {
        boolean is = false;

        ConnectivityManager systemService = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = systemService.getActiveNetworkInfo();
        if (networkInfo!=null){
            is = systemService.getActiveNetworkInfo().isAvailable();
        }

        return is;
    }
}

//创建数据库
public class SQLite extends SQLiteOpenHelper {
    public SQLite(Context context) {
        super(context, "user.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table student (id Integer primary key autoincrement ,url text,json text)");
    }

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

    }
}
//增删改查
public class Dao {

    private final SQLiteDatabase db;
    private ContentValues values;

    public Dao(Context context) {
        SQLite sqLite = new SQLite(context);
        db = sqLite.getWritableDatabase();
    }

    //先删除在添加
    public void insertData(String url, String json) {
        db.delete("student", "url=?", new String[]{url});

        values = new ContentValues();
        values.put("url", url);
        values.put("json", json);
Log.e("jj","+++++++++++++++++"+url);
        long student = db.insert("student", null, values);
        Log.e("lhy", "===================values=================" + student+"");
    }

    //查询的方法
    public String queryData(String url) {
        String json = "";
        Cursor cursor = db.query("student", null, "url=?", new String[]{url}, null, null, null);
        if (cursor.moveToFirst()) {
            do{
                json = cursor.getString(cursor.getColumnIndex("json"));
            }while (cursor.moveToNext());
        }
Log.e("lhy","==========================*****"+json);
        return json;
    }
}


//多条目
public class MyAdapter extends BaseAdapter {

    private Context context;
    private List<Bean.DataBean> data;
    private TextView tv1;
    private TextView tv2;
    private TextView tv3;
    private ImageView iv1;

    public MyAdapter(Context context, List<Bean.DataBean> data) {
        this.context = context;
        this.data = data;
    }

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

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

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

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

    @Override
    public int getItemViewType(int position) {
        return position%2;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int viewType = getItemViewType(position);

        switch (viewType){
            case 0:
                convertView = View.inflate(context, R.layout.even,null);
                tv1 = convertView.findViewById(R.id.tv1);
                tv2 = convertView.findViewById(R.id.tv2);
                tv1.setText(data.get(position).getNews_id());
                tv2.setText(data.get(position).getNews_title());
                break;
            case 1:
                convertView = View.inflate(context,R.layout.add,null);
                tv3 = convertView.findViewById(R.id.tv3);
                iv1 = convertView.findViewById(R.id.iv1);
                tv3.setText(data.get(position).getNews_title());
                ImageLoader instance = ImageLoader.getInstance();
                instance.displayImage(data.get(position).getPic_url(),iv1);
                break;

        }


        return convertView;
    }
}


    //异步请求
    class MAsTask extends AsyncTask<String,Void,String>{

        @Override
        protected String doInBackground(String... strings) {

            String p = NetWordUtils.getNetjson(strings[0]);
            return p;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);

            dao.insertData(st,s);
            Gson gson = new Gson();
            Bean bean = gson.fromJson(s, Bean.class);
            List<Bean.DataBean> data = bean.getData();
            list.addAll(data);
            myAdapter.notifyDataSetChanged();
            pull.onRefreshComplete();
        }
    }


    //轮播图
    class ImageLoders extends com.youth.banner.loader.ImageLoader{

        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            ImageLoader instance = ImageLoader.getInstance();
            instance.displayImage((String) path,imageView);
        }
    }
}

//table layout
public class Frag_01 extends Fragment {

    private TabLayout tl;
    private ViewPager pager;
    ArrayList<Fragment> flist = new ArrayList<Fragment>();
    ArrayList<String> slist = new ArrayList<String>();
    private TMyAdapter tMyAdapter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_01 ,container,false);

        tl = view.findViewById(R.id.tl);
        pager = view.findViewById(R.id.pager);
        initData();
        tl.setTabMode(TabLayout.MODE_FIXED);
        tl.setupWithViewPager(pager);

        tMyAdapter = new TMyAdapter(getChildFragmentManager());
        pager.setAdapter(tMyAdapter);

        return view;
    }

    private void initData() {
        slist.add("热门");
        slist.add("推荐");
        flist.add(new BlankFragment1());
        flist.add(new BlankFragment2());
    }


    class TMyAdapter extends FragmentPagerAdapter{

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

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

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

        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return slist.get(position);
        }
    }
}

//数据库展示
public class Frag_02 extends Fragment {

    public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
    private Dao dao;
    private TextView tv4;
    ArrayList<String> list = new ArrayList<String>();

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_02 ,container,false);

        dao = new Dao(getContext());
        tv4 = view.findViewById(R.id.tv4);


        String s = dao.queryData(urlString);
        Gson gson = new Gson();
        Log.e("lhy","========================"+s);
        Bean bean = gson.fromJson(s, Bean.class);
        List<Bean.DataBean> data = bean.getData();

        for (int i=0;i<data.size();i++){
            String news_title = data.get(i).getNews_title();
            String news_summary = data.get(i).getNews_summary();
            list.add(news_title);
            list.add(news_summary);
        }

        String s1 = list.toString();
        Log.e("www","============s========="+s1);
        tv4.setText(s1);
        return view;
    }
}



//能力之外的
private TabLayout tl;
    private ViewPager pager;
    ArrayList<Fragment> flist = new ArrayList<Fragment>();
    ArrayList<ChannelBean> slist = new ArrayList<>();
    private TMyAdapter tMyAdapter;
    private Button button;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_01 ,container,false);

        tl = view.findViewById(R.id.tl);
        pager = view.findViewById(R.id.pager);
        button = view.findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(),slist);
            }
        });


        tl.setTabMode(TabLayout.MODE_FIXED);
        tl.setupWithViewPager(pager);
        initData();
        tMyAdapter = new TMyAdapter(getChildFragmentManager());
        pager.setAdapter(tMyAdapter);

        return view;
    }

    private void initData() {
        slist.add(new ChannelBean("推荐",true));
        slist.add(new ChannelBean("热门",true));
        slist.add(new ChannelBean("我的",true));

        slist.add(new ChannelBean("1",false));
        slist.add(new ChannelBean("2",false));
        slist.add(new ChannelBean("3",false));

        for (int i= 0;i<slist.size();i++){
            if (slist.get(i).isSelect()){
                String name = slist.get(i).getName();
                tl.addTab(tl.newTab().setText(name));
                if (i==0){
                    flist.add(new BlankFragment1());
                }
                else if(i==1){
                    flist.add(new BlankFragment2());
                }
            }
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值