抽取基类
package com.bawei.yk;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
public abstract class BaseActivity extends FragmentActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(bindLayout());
initView();
initData();
bindEvent();
}
protected abstract int bindLayout();
protected abstract void initView();
protected abstract void initData();
protected abstract void bindEvent();
}
package com.bawei.yk;
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(bindLayout(),container,false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
initData();
bindEvent();
}
protected abstract int bindLayout();
protected abstract void initView();
protected abstract void initData();
protected abstract void bindEvent();
}
5秒跳转布局
<?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=".MainActivity">
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/te"
android:text="5"
android:gravity="center"
android:background="#0f0"/>
</android.support.constraint.ConstraintLayout>
5秒跳转代码
package com.bawei.yk;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends BaseActivity {
private TextView tx;
private SharedPreferences sp;
@Override
protected int bindLayout() {
return R.layout.activity_main;
}
@Override
protected void initView() {
tx = findViewById(R.id.te);
sp = getSharedPreferences("login", Context.MODE_PRIVATE);
}
@Override
protected void initData() {
if( sp.getBoolean("自动登录",false)){
startActivity(new Intent(MainActivity.this,TwoActivity.class));
finish();
handler.removeCallbacksAndMessages(null);
return;
}
}
@Override
protected void bindEvent() {
tx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor edit = sp.edit();
edit.putBoolean("自动登录",true);
edit.commit();
startActivity(new Intent(MainActivity.this,TwoActivity.class));
finish();
handler.removeCallbacksAndMessages(null);
}
});
handler.sendEmptyMessageDelayed(0,1000);
}
@Override
protected void onDestroy() {
super.onDestroy();
handler.removeCallbacksAndMessages(null);
}
int time=5;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
time--;
if(time>0){
tx.setText(time+"");
handler.sendEmptyMessageDelayed(0,1000);
}else{
SharedPreferences.Editor edit = sp.edit();
edit.putBoolean("自动登录",true);
edit.commit();
startActivity(new Intent(MainActivity.this,TwoActivity.class));
finish();
}
break;
}
}
};
}
主页面布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".TwoActivity"
android:orientation="vertical">
<android.support.v4.widget.DrawerLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/draw"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/frag"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></FrameLayout>
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<RadioButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="全名小视频"
android:id="@+id/r1"
android:gravity="center"
android:drawableTop="@mipmap/ic_launcher"
android:button="@null"/>
<RadioButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="快手"
android:id="@+id/r2"
android:gravity="center"
android:drawableTop="@mipmap/ic_launcher"
android:button="@null"/>
<RadioButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="抖音"
android:id="@+id/r3"
android:gravity="center"
android:drawableTop="@mipmap/ic_launcher"
android:button="@null"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ff0000"
android:layout_gravity="left">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/img"/>
<com.qy.xlistview.XListView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/xlistview">
</com.qy.xlistview.XListView>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
主页面
package com.bawei.yk;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.Adapter;
import android.widget.ImageView;
import android.widget.RadioGroup;
import com.bawei.yk.adapter.MyAdapter;
import com.bawei.yk.bean.Data;
import com.bawei.yk.bean.JsonBean;
import com.bawei.yk.frag.Frag1;
import com.bawei.yk.frag.Frag2;
import com.bawei.yk.frag.Frag3;
import com.bawei.yk.http.Http;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.qy.xlistview.XListView;
import java.util.ArrayList;
public class TwoActivity extends BaseActivity {
private RadioGroup radiogroup;
private XListView xlistview;
private ImageView img;
private DrawerLayout draw;
private Frag1 f1;
private Frag2 f2;
private Frag3 f3;
private String str = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private FragmentManager supportFragmentManager;
private ArrayList<Data> data;
private MyAdapter adapter;
@Override
protected int bindLayout() {
return R.layout.activity_two;
}
@Override
protected void initView() {
radiogroup = findViewById(R.id.radiogroup);
radiogroup.check(radiogroup.getChildAt(0).getId());
xlistview = findViewById(R.id.xlistview);
img = findViewById(R.id.img);
draw = findViewById(R.id.draw);
}
@Override
protected void initData() {
String ss="http://image.baidu.com/search/down?tn=download&word=download&ie=utf8&fr=detail&url=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201410%2F05%2F20141005082835_2RTzn.thumb.700_0.jpeg&thumburl=http%3A%2F%2Fimg2.imgtn.bdimg.com%2Fit%2Fu%3D3846895839%2C2711067435%26fm%3D26%26gp%3D0.jpg";
ImageLoader.getInstance().displayImage(ss,img);
supportFragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = supportFragmentManager.beginTransaction();
f1 = new Frag1();
f2 = new Frag2();
f3 = new Frag3();
transaction.add(R.id.frag,f1);
transaction.add(R.id.frag,f2);
transaction.add(R.id.frag,f3);
transaction.hide(f2).hide(f3).show(f1);
transaction.commit();
xlistview.setPullLoadEnable(true);
if(Http.iswork(TwoActivity.this)){
Http.MyAs(str, new Http.CallBacks() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
data = jsonBean.getData();
adapter=new MyAdapter(TwoActivity.this,data);
xlistview.setAdapter(adapter);
}
});
}
}
@Override
protected void bindEvent() {
radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction transaction1 = supportFragmentManager.beginTransaction();
switch (checkedId) {
case R.id.r1:
transaction1.hide(f2).hide(f3).show(f1);
break;
case R.id.r2:
transaction1.hide(f1).hide(f3).show(f2);
break;
case R.id.r3:
transaction1.hide(f2).hide(f1).show(f3);
break;
}
transaction1.commit();
}
});
}
}
adapter
package com.bawei.yk.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawei.yk.R;
import com.bawei.yk.bean.Data;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
public class Ce extends BaseAdapter {
private Context context;
private ArrayList<Data>list;
private Haode1 h1;
private Haode2 h2;
private Haode3 h3;
public Ce(Context context, ArrayList<Data> list) {
this.context = context;
this.list = list;
}
@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 int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
return position%3;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
switch (getItemViewType(position)){
case 0:
if(convertView==null){
h1 = new Haode1();
convertView= View.inflate(context,R.layout.item1,null);
h1.img1 = convertView.findViewById(R.id.img1);
h1.tx1 = convertView.findViewById(R.id.tx1);
convertView.setTag(h1);
}else{
h1= (Haode1) convertView.getTag();
}
ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),h1.img1);
h1.tx1.setText(list.get(position).getNews_title());
break;
case 1:
if(convertView==null){
h2 = new Haode2();
convertView= View.inflate(context,R.layout.item2,null);
h2.tx2 = convertView.findViewById(R.id.tx2);
convertView.setTag(h2);
}else{
h2= (Haode2) convertView.getTag();
}
h2.tx2.setText(list.get(position).getNews_title());
break;
case 2:
if(convertView==null){
h3 = new Haode3();
convertView= View.inflate(context,R.layout.item3,null);
h3.img3 = convertView.findViewById(R.id.img2);
convertView.setTag(h3);
}else{
h3= (Haode3) convertView.getTag();
}
ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),h3.img3);
break;
}
return convertView;
}
class Haode1{
ImageView img1;
TextView tx1;
}
class Haode2{
TextView tx2;
}
class Haode3{
ImageView img3;
}
}
package com.bawei.yk.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.qy.channel.bean.ChannelItem;
import java.util.ArrayList;
public class TabPagerAdapter extends FragmentPagerAdapter{
private ArrayList<Fragment>arr;
private ArrayList<ChannelItem>tabData;
public TabPagerAdapter(FragmentManager fm, ArrayList<Fragment> arr, ArrayList<ChannelItem> tabData) {
super(fm);
this.arr = arr;
this.tabData = tabData;
}
@Override
public Fragment getItem(int i) {
return arr.get(i);
}
@Override
public int getCount() {
return tabData.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return tabData.get(position).getName();
}
}
app
package com.bawei.yk.app;
import android.app.Application;
import android.graphics.Bitmap;
import android.os.Environment;
import com.bawei.yk.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.qy.channel.app.ChannelApplication;
import java.io.File;
public class App extends ChannelApplication {
@Override
public void onCreate() {
super.onCreate();
String path = Environment.getExternalStorageDirectory().getPath();
File file = new File(path);
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.mipmap.zhan)
.showImageOnLoading(R.mipmap.shibai)
.displayer(new CircleBitmapDisplayer())
.bitmapConfig(Bitmap.Config.ARGB_8888)
.build();
ImageLoaderConfiguration loaderConfiguration = new ImageLoaderConfiguration.Builder(this)
.defaultDisplayImageOptions(options)
.build();
ImageLoader instance = ImageLoader.getInstance();
instance.init(loaderConfiguration);
}
}
bean
package com.bawei.yk.bean;
public class Data {
/*"news_id": "13798",
"news_summary": "由武汉市贸促会、上海《理财周刊》社、湖北好博塔苏斯展览有限公司等单位联合发起的“2016武汉金融理财投资博览会”,将在武",
"news_title": "武汉金融理财投资博览会将在5月举办",
"pic_url":*/
private String news_id;
private String news_summary;
private String news_title;
private String pic_url;
public String getNews_id() {
return news_id;
}
public Data(String news_summary, String news_title, String pic_url) {
this.news_summary = news_summary;
this.news_title = news_title;
this.pic_url = pic_url;
}
public void setNews_id(String news_id) {
this.news_id = news_id;
}
public String getNews_summary() {
return news_summary;
}
public void setNews_summary(String news_summary) {
this.news_summary = news_summary;
}
public String getNews_title() {
return news_title;
}
public void setNews_title(String news_title) {
this.news_title = news_title;
}
public String getPic_url() {
return pic_url;
}
public void setPic_url(String pic_url) {
this.pic_url = pic_url;
}
@Override
public String toString() {
return "Data{" +
"news_id='" + news_id + '\'' +
", news_summary='" + news_summary + '\'' +
", news_title='" + news_title + '\'' +
", pic_url='" + pic_url + '\'' +
'}';
}
}
package com.bawei.yk.bean;
import java.util.ArrayList;
public class JsonBean {
/* "info": "获取内容成功",
"status": 1*/
private ArrayList<Data> data;
private String info;
private String status;
public ArrayList<Data> getData() {
return data;
}
public void setData(ArrayList<Data> data) {
this.data = data;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "JsonBean{" +
"data=" + data +
", info='" + info + '\'' +
", status='" + status + '\'' +
'}';
}
public JsonBean(ArrayList<Data> data, String info, String status) {
this.data = data;
this.info = info;
this.status = status;
}
}
frag1
package com.bawei.yk.frag;
import android.content.Intent;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
import com.bawei.yk.adapter.TabPagerAdapter;
import com.bawei.yk.tab.Tab_Null;
import com.bawei.yk.tab.Tab_Shou;
import com.qy.channel.ChannelActivity;
import com.qy.channel.app.ChannelApplication;
import com.qy.channel.bean.ChannelItem;
import com.qy.channel.db.DBUtil;
import java.util.ArrayList;
public class Frag1 extends BaseFragment {
private ImageView img;
private ViewPager pager;
private TabLayout tab;
private ArrayList<ChannelItem> tabData;
private ArrayList<Fragment> arr;
private TabPagerAdapter adapter;
@Override
protected int bindLayout() {
return R.layout.frag1;
}
@Override
protected void initView() {
img = getActivity().findViewById(R.id.img);
pager = getActivity().findViewById(R.id.pager);
tab = getActivity().findViewById(R.id.tab);
}
@Override
protected void initData() {
//查询数据ku
tabData = DBUtil.getTabData(getActivity());
//加载fragment
arr = new ArrayList<>();
for (int i = 0; i < tabData.size(); i++) {
ChannelItem channelItem = tabData.get(i);
String name = channelItem.getName();
if ("头条".equals(name)) {
arr.add(new Tab_Shou());
} else {
arr.add(new Tab_Null());
}
//设置适配器
adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), arr, tabData);
pager.setAdapter(adapter);
tab.setupWithViewPager(pager);
}
}
@Override
protected void bindEvent() {
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ChannelActivity.class);
startActivityForResult(intent, 0);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
tabData = DBUtil.getTabData(getActivity());
for (int i = 0; i < tabData.size(); i++) {
ChannelItem channelItem = tabData.get(i);
String name = channelItem.getName();
tab.addTab(tab.newTab().setText(name));
if ("头条".equals(name)) {
arr.add(new Tab_Shou());
} else {
arr.add(new Tab_Null());
}
adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), arr, tabData);
pager.setAdapter(adapter);
tab.setupWithViewPager(pager);
}
}
}
}
frag2,frag3
package com.bawei.yk.frag;
import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
public class Frag2 extends BaseFragment {
@Override
protected int bindLayout() {
return R.layout.frag2;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
@Override
protected void bindEvent() {
}
}
http
package com.bawei.yk.http;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class Http {
public static boolean iswork(Context context){
if(context!=null){
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if(info!=null){
return info.isAvailable();
}
}
return false;
}
public static String get(String str){
try {
URL url = new URL(str);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int code = connection.getResponseCode();
if(code==200){
InputStream stream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"utf-8"));
StringBuffer buffer = new StringBuffer();
String str1="";
while ((str1=reader.readLine())!=null){
buffer.append(str1);
}
return buffer.toString();
}
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void MyAs(String string,final CallBacks backs){
new AsyncTask<String, Integer, String>() {
@Override
protected String doInBackground(String... strings) {
return Http.get(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
backs.getData(s);
}
}.execute(string);
}
public interface CallBacks{
void getData(String s);
}
}
dao
package com.bawei.yk.sql;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class Dao {
private final SQLiteDatabase db;
public Dao(Context context) {
MySql mySql = new MySql(context);
db = mySql.getWritableDatabase();
}
public long insert(String table, String nullColumnHack, ContentValues values) {
return db.insert(table, nullColumnHack, values);
}
public Cursor Query(String table, String[] columns, String selection,
String[] selectionArgs, String groupBy, String having,
String orderBy) {
return db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
}
}
mysql
package com.bawei.yk.sql;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MySql extends SQLiteOpenHelper {
public MySql(Context context) {
super(context, "db.bw", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table student( id integer primary key autoincrement,name text,tit text,img text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
tab_null
package com.bawei.yk.tab;
import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
public class Tab_Null extends BaseFragment {
@Override
protected int bindLayout() {
return R.layout.tab_null;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
@Override
protected void bindEvent() {
}
}
tab_shou
package com.bawei.yk.tab;
import android.content.ContentValues;
import android.database.Cursor;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;
import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
import com.bawei.yk.adapter.Ce;
import com.bawei.yk.bean.Data;
import com.bawei.yk.bean.JsonBean;
import com.bawei.yk.http.Http;
import com.bawei.yk.sql.Dao;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.logging.Handler;
public class Tab_Shou extends BaseFragment {
private PullToRefreshListView listv;
private Ce adapter;
private ArrayList<Data> data;
private Dao dao;
private String str = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
@Override
protected int bindLayout() {
return R.layout.tab_shou;
}
@Override
protected void initView() {
listv = getActivity().findViewById(R.id.pull);
listv.setMode(PullToRefreshListView.Mode.BOTH);
listv.setScrollingWhileRefreshingEnabled(true);
dao=new Dao(getActivity());
}
@Override
protected void initData() {
if( Http.iswork(getActivity())){
Http.MyAs(str, new Http.CallBacks() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
data = jsonBean.getData();
if(dao.Query("student",null,null,null,null,null,null).moveToFirst()){
}else{
for (Data js:data) {
ContentValues Values = new ContentValues();
Values.put("tit",js.getNews_title());
Values.put("name",js.getNews_summary());
Values.put("img",js.getPic_url());
dao.insert("student",null,Values);
}
}
adapter=new Ce(getActivity(),data);
listv.setAdapter(adapter);
}
});
}else{
Cursor query = dao.Query("student", null, null, null, null, null, null);
data = new ArrayList<>();
if(query.moveToFirst()){
do {
String name = query.getString(query.getColumnIndex("name"));
String tit = query.getString(query.getColumnIndex("tit"));
String img = query.getString(query.getColumnIndex("img"));
data.add(new Data(name,img,tit));
}while (query.moveToNext());
}
query.close();
Toast.makeText(getActivity(),"没有网络",Toast.LENGTH_LONG).show();
adapter=new Data(getActivity(),data);
listv.setAdapter(adapter);
}
}
@Override
protected void bindEvent() {
listv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
if(Http.iswork(getActivity())){
Http.MyAs(str, new Http.CallBacks() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
data = jsonBean.getData();
adapter=new Ce(getActivity(),data);
listv.setAdapter(adapter);
listv.onRefreshComplete();
}
});
}
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
if(Http.iswork(getActivity())){
Http.MyAs(str, new Http.CallBacks() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
ArrayList<Data> data1 = jsonBean.getData();
data.addAll(data1);
adapter.notifyDataSetChanged();
listv.onRefreshComplete();
}
});
}
}
});
}
}
frag1布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/img"
android:src="@mipmap/menu"/>
</LinearLayout>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/pager"></android.support.v4.view.ViewPager>
</LinearLayout>
frag2布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
frag3布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</android.support.constraint.ConstraintLayout>
item1布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/img1"/>
<TextView
android:id="@+id/tx1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
item2布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tx2"/>
</android.support.constraint.ConstraintLayout>
item3布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/img2"/>
</android.support.constraint.ConstraintLayout>
ce1布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/img1"/>
<TextView
android:id="@+id/tx1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
ce2布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tx2"/>
</android.support.constraint.ConstraintLayout>
ce3布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/img2"/>
</android.support.constraint.ConstraintLayout>
tab_null布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="此页面没做效果图"/>
</android.support.constraint.ConstraintLayout>
tab_shou布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pull"></com.handmark.pulltorefresh.library.PullToRefreshListView>
</android.support.constraint.ConstraintLayout>
manifests
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bawei.yk">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name=".app.App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TwoActivity"></activity>
</application>
</manifest>