布局 切记不要忘记导入 implementation ‘com.youth.banner:banner:1.4.9’
activity
<?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"
android:orientation="vertical"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/frag"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<RadioGroup
android:id="@+id/radiog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/radio1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:checked="true"
android:text="首页1"
android:drawableTop="@drawable/sel"
/>
<RadioButton
android:id="@+id/radio2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="首页2"
android:drawableTop="@drawable/sel"
/>
<RadioButton
android:id="@+id/radio3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="首页3"
android:drawableTop="@drawable/sel"
/>
</RadioGroup>
</LinearLayout>
Fag01 base
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/pull"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
Frag02 轮播图
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"
tools:ignore="MissingConstraints"/>
</android.support.constraint.ConstraintLayout>
Frag03 侧滑
<?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"
android:background="#0f0"
>
<android.support.v4.widget.DrawerLayout
android:id="@+id/draw"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF9800"
android:orientation="horizontal"
>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击弹出侧滑"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#AB27B0"
android:orientation="horizontal"
>
<TextView
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f0f"
android:text="好好学习,天天向上"
/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
Tab
tab01 建立7个tab…
package com.bawei.week3.tab;
import com.bawei.week3.R;
import com.bawei.week3.base.BaseFragment;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class Tab01 extends BaseFragment {
@Override
protected int bindLayout() {
return R.layout.tab01;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
@Override
protected void bindEvent() {
}
}
MainActivity
package com.bawei.week3;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.widget.FrameLayout;
import android.widget.RadioGroup;
import com.bawei.week3.base.BaseActivity;
import com.bawei.week3.fragment.Frag01;
import com.bawei.week3.fragment.Frag02;
import com.bawei.week3.fragment.Frag03;
public class MainActivity extends BaseActivity {
private FrameLayout frag;
private RadioGroup radioGroup;
private Fragment frag01;
private Frag03 frag03;
private Frag02 frag02;
private FragmentManager manager;
@Override
public int bindLayout() {
return R.layout.activity_main;
}
@Override
protected void initView() {
frag = findViewById(R.id.frag);
radioGroup = findViewById(R.id.radiog );
}
@Override
protected void initData() {
frag01 = new Frag01();
frag02 = new Frag02();
frag03 = new Frag03();
//获取fragment管理者
manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.frag,frag01)
.add(R.id.frag,frag02)
.add(R.id.frag,frag03)
.show(frag01)
.hide(frag02)
.hide(frag03)
.commit();
}
@Override
protected void bindEvent() {
//点击切换
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
//点击事务
FragmentTransaction transaction = manager.beginTransaction();
switch (i){
case R.id.radio1:
transaction.show(frag01).hide(frag02).hide(frag03);//展示fragment
break;
case R.id.radio2:
transaction.show(frag02).hide(frag01).hide(frag03);
break;
case R.id.radio3:
transaction.show(frag03).hide(frag02).hide(frag01);
break;
}
transaction.commit();
}
});
}
}
HttpUtil
package com.bawei.week3;
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;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class HttpUtil {
public boolean isNet(Context context){
if (context!=null){
ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();
if (networkInfo!=null){
return networkInfo.isAvailable();
}
}
return false;
}
public static void httpAsynTask(String strUrl,final CallBackString backString ){
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
return httpGet(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
backString.getData(s);
}
}.execute(strUrl);
}
//借口
public interface CallBackString{
void getData(String s);
}
public static String httpGet(String strUrl){
try {
URL url=new URL(strUrl);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
InputStream stream=connection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(stream,"utf-8"));
StringBuilder builder=new StringBuilder();
String str="";
while((str=reader.readLine())!=null){
builder.append(str);
}
connection.disconnect();
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
fragment
Frag01 上拉 下拉 刷新
package com.bawei.week3.fragment;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.widget.ListView;
import com.bawei.week3.HttpUtil;
import com.bawei.week3.R;
import com.bawei.week3.adapter.MyAdapter;
import com.bawei.week3.adapter.TabAdapter;
import com.bawei.week3.base.BaseFragment;
import com.bawei.week3.bean.JsonBean;
import com.bawei.week3.tab.Tab01;
import com.bawei.week3.tab.Tab02;
import com.bawei.week3.tab.Tab03;
import com.bawei.week3.tab.Tab04;
import com.bawei.week3.tab.Tab05;
import com.bawei.week3.tab.Tab06;
import com.bawei.week3.tab.Tab07;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class Frag01 extends BaseFragment {
private TabLayout tabLayout;
private ViewPager pager;
private String string="https://www.apiopen.top/novelApi";
private PullToRefreshListView listView;
private MyAdapter myAdapter;
private List<JsonBean.DataBean> list1;
@Override
protected int bindLayout() {
return R.layout.frag01;
}
@Override
protected void initView() {
tabLayout = bindView(R.id.tab);
pager = bindView(R.id.pager);
listView = bindView(R.id.pull);
listView.setMode(PullToRefreshListView.Mode.BOTH);
listView.setScrollingWhileRefreshingEnabled(true);
}
@Override
protected void initData() {
//Tablayout数据
String str[]={"QQ","快手","微信","联系人","王者","飞车","小猫咪"};
//页面数据
ArrayList<Fragment> list=new ArrayList<>();
list.add(new Tab01());
list.add(new Tab02());
list.add(new Tab03());
list.add(new Tab04());
list.add(new Tab05());
list.add(new Tab06());
list.add(new Tab07());
//适配器
TabAdapter adapter=new TabAdapter(getActivity().getSupportFragmentManager(),str,list);
pager.setAdapter(adapter);
//Tab
tabLayout.setupWithViewPager(pager);
//数据
HttpUtil.httpAsynTask(string, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
list1 = bean.getData();
myAdapter = new MyAdapter(list1,getActivity());
listView.setAdapter(myAdapter);
}
});
}
@Override
protected void bindEvent() {
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
HttpUtil.httpAsynTask(string, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
list1 = bean.getData();
myAdapter = new MyAdapter(list1,getActivity());
listView.setAdapter(myAdapter);
listView.onRefreshComplete();
}
});
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//上拉加载
HttpUtil.httpAsynTask(string, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson=new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
List<JsonBean.DataBean> data = bean.getData();
list1.addAll(data);
myAdapter.notifyDataSetChanged();
listView.onRefreshComplete();
}
});
}
});
}
}
Frag02 轮播
package com.bawei.week3.fragment;
import android.content.Context;
import android.widget.ImageView;
import com.bawei.week3.HttpUtil;
import com.bawei.week3.R;
import com.bawei.week3.base.BaseFragment;
import com.bumptech.glide.Glide;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class Frag02 extends BaseFragment {
private Banner banner;
@Override
protected int bindLayout() {
return R.layout.frag02;
}
@Override
protected void initView() {
banner = bindView(R.id.banner);
}
@Override
protected void initData() {
ArrayList<String> list=new ArrayList<>();
list.add("https://ws1.sinaimg.cn/large/0065oQSqly1g04lsmmadlj31221vowz7.jpg");
list.add("https://ws1.sinaimg.cn/large/0065oQSqly1g04lsmmadlj31221vowz7.jpg");
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
});
banner.setImages(list);//图片数据
banner.isAutoPlay(true);//是否轮播true
banner.setDelayTime(3000);//图片切换时间
banner.start();//开始轮播
}
@Override
protected void bindEvent() {
}
}
frag03 侧滑
package com.bawei.week3.fragment;
import android.support.annotation.NonNull;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.bawei.week3.R;
import com.bawei.week3.base.BaseFragment;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class Frag03 extends BaseFragment {
private DrawerLayout drawerLayout;
private Button button;
@Override
protected int bindLayout() {
return R.layout.frag03;
}
@Override
protected void initView() {
drawerLayout = bindView(R.id.draw);
button = bindView(R.id.btn);
}
@Override
protected void initData() {
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
drawerLayout.openDrawer(Gravity.LEFT);
}
});
//侧滑的监听事件
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View view, float v) {
}
@Override
public void onDrawerOpened(@NonNull View view) {
Toast.makeText(getActivity(),"侧滑开始",Toast.LENGTH_LONG).show();
}
@Override
public void onDrawerClosed(@NonNull View view) {
Toast.makeText(getActivity(),"侧滑关闭",Toast.LENGTH_LONG).show();
}
@Override
public void onDrawerStateChanged(int i) {
}
});
}
@Override
protected void bindEvent() {
}
}
base
BaseActivity
package com.bawei.week3.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.view.View;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public abstract class BaseActivity extends FragmentActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(bindLayout());
initView();
initData();
bindEvent();
}
public abstract int bindLayout();
protected abstract void initView();
protected abstract void initData();
protected abstract void bindEvent();
protected <T extends View> T bindView(int resId){
return (T) findViewById(resId);
}
}
BaseFragment
package com.bawei.week3.base;
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;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
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);
}
protected abstract int bindLayout();
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
initData();
bindEvent();
}
protected abstract void initView();
protected abstract void initData();
protected abstract void bindEvent();
protected <T extends View > T bindView(int resId){
return (T) getView().findViewById(resId);
}
}
bean
JsonBean
package com.bawei.week3.bean;
import java.util.List;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class JsonBean {
/**
* code : 200
* msg : 成功!
* data : [{"bid":"6955077","bookname":"不朽神帝","introduction":"【玄幻神作】少年陈朔,偶得合欢奇功,从此开启,与美双修的暴爽崛起之路。他踏遍寰宇,阅尽各色美女,修出绝世神威,弑圣屠魔,霸凌万古。却忽然发现,一切早有预谋,他只不过是一枚棋子\u2026\u2026","book_info":"【玄幻神作】少年陈朔,偶得合欢奇功,从此开启,与美双修的暴爽崛起之路。他踏遍寰宇,阅尽各色美女,修出绝世神威,弑圣屠魔,霸凌万古。却忽然发现,一切早有预谋,他只不过是一枚棋子\u2026\u2026","chapterid":"1147548","topic":"第1814章 圣主驾到","topic_first":"第001章暴打冰美人","date_updated":1551335716,"author":"2100900","author_name":"项华","top_class":"502","state":"1","readCount":"18","praiseCount":"2","stat_name":"连载","class_name":"东方玄幻","size":"4493833","book_cover":"http://img-tailor.11222.cn/bcv/big/201701131047373571.jpg","chapterid_first":"765032","chargeMode":"3","digest":"0","price":"0.5","tag":["热血","爽文","YY"],"is_new":1,"discountNum":10,"quick_price":0,"formats":"1","audiobook_playCount":"0","chapterNum":"1814","isShortStory":false,"userid":"704073047","search_heat":"81","num_click":"1127216","recommend_num":"1085523","first_cate_id":"1","first_cate_name":"玄幻小说","reason":""},{"bid":"6824887","bookname":"魔道传说","introduction":"原本只是想用自己的天赋和努力一展头脚,为死去的父母报仇,而后归于平凡,却因姐姐的死去而性格大变。不甘心命运,不相信平庸。穆云修灵力,控战偶,寻神物,踏天堑。带着一魔一宠,走上一条注定与世界作对的魔道之路。","book_info":"原本只是想用自己的天赋和努力一展头脚,为死去的父母报仇,而后归于平凡,却因姐姐的死去而性格大变。不甘心命运,不相信平庸。穆云修灵力,控战偶,寻神物,踏天堑。带着一魔一宠,走上一条注定与世界作对的魔道之路。","chapterid":"1166942","topic":"第一千二百三十四章 李佳闫智","topic_first":"楔子","date_updated":1551409813,"author":"3270222","author_name":"九阳流星","top_class":"502","state":"1","readCount":"35","praiseCount":"3","stat_name":"连载","class_name":"东方玄幻","size":"3779067","book_cover":"http://img-tailor.11222.cn/bcv/big/201609021415397959.jpg","chapterid_first":"734821","chargeMode":"3","digest":"0","price":"0.5","tag":["玄幻","异界","大陆"],"is_new":1,"discountNum":10,"quick_price":0,"formats":"1","audiobook_playCount":"0","chapterNum":"1235","isShortStory":false,"userid":"610672396","search_heat":"91","num_click":"192778","recommend_num":"151085","first_cate_id":"1","first_cate_name":"玄幻小说","reason":""},{"bid":"7502542","bookname":"盛世恩宠:墨少轻点撩","introduction":"沈嫣曾戳之以鼻,发誓决定不会如此肤浅,爱上行走的荷尔蒙。结果上帝和她开了个玩笑。一朝赌气,意外嫁给H市最神秘的BOSS墨北辰。从此,两人过上没羞没臊的生活。又从小助理走上人生巅峰,成为风靡全球的金牌制作人。墨北辰将娇小柔软的女人压在身下,霸道亲吻。谁说高冷男都是禁欲系!沈嫣可以很负责任的告诉你,都是!骗人的!","book_info":"沈嫣曾戳之以鼻,发誓决定不会如此肤浅,爱上行走的荷尔蒙。结果上帝和她开了个玩笑。一朝赌气,意外嫁给H市最神秘的BOSS墨北辰。从此,两人过上没羞没臊的生活。又从小助理走上人生巅峰,成为风靡全球的金牌制作人。墨北辰将娇小柔软的女人压在身下,霸道亲吻。谁说高冷男都是禁欲系!沈嫣可以很负责任的告诉你,都是!骗人的!","chapterid":"1209668","topic":"第二百七十章温暖的港湾(大结局)","topic_first":"第一章能帮我个忙吗","date_updated":1545976106,"author":"3994271","author_name":"Mrs.温","top_class":"502","state":"2","readCount":"0","praiseCount":"0","stat_name":"完结","class_name":"现代言情","size":"591418","book_cover":"http://img-tailor.11222.cn/bcv/big/201803201446123550.jpg","chapterid_first":"1071973","chargeMode":"3","digest":"0","price":"0.5","tag":["治愈","总裁","明星","宠文甜文"],"is_new":0,"discountNum":10,"quick_price":0,"formats":"1","audiobook_playCount":"0","chapterNum":"270","isShortStory":false,"userid":"0","search_heat":"85","num_click":"188604","recommend_num":"146911","first_cate_id":"19","first_cate_name":"言情小说","reason":""},{"bid":"7004793","bookname":"春闺秘录:厂公太撩人","introduction":"生于簪缨之家,嫁与名望世族。生前富贵尽享,死后荣显加身。旁人说起她,总感叹一句:真真是好命!没有人知道,她根本就不想要这样的好命!重活一世,她最想做的事就是:嫁给那个权倾朝野的\u2026\u2026厂公!","book_info":"生于簪缨之家,嫁与名望世族。生前富贵尽享,死后荣显加身。旁人说起她,总感叹一句:真真是好命!没有人知道,她根本就不想要这样的好命!重活一世,她最想做的事就是:嫁给那个权倾朝野的\u2026\u2026厂公!","chapterid":"1150481","topic":"第一千一百七十一章 断了","topic_first":"第一章天恩","date_updated":1551406511,"author":"3722881","author_name":"平白兄","top_class":"502","state":"1","readCount":"0","praiseCount":"0","stat_name":"连载","class_name":"古典架空","size":"2263541","book_cover":"http://img-tailor.11222.cn/bcv/big/201803131050382283.jpg","chapterid_first":"773513","chargeMode":"3","digest":"0","price":"0.5","tag":["言情","古代","架空"],"is_new":1,"discountNum":10,"quick_price":0,"formats":"1","audiobook_playCount":"0","chapterNum":"1171","isShortStory":false,"userid":"460911345","search_heat":"79","num_click":"1678969","recommend_num":"1637276","first_cate_id":"19","first_cate_name":"言情小说","reason":""}]
*/
private int code;
private String msg;
private List<DataBean> data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* bid : 6955077
* bookname : 不朽神帝
* introduction : 【玄幻神作】少年陈朔,偶得合欢奇功,从此开启,与美双修的暴爽崛起之路。他踏遍寰宇,阅尽各色美女,修出绝世神威,弑圣屠魔,霸凌万古。却忽然发现,一切早有预谋,他只不过是一枚棋子……
* book_info : 【玄幻神作】少年陈朔,偶得合欢奇功,从此开启,与美双修的暴爽崛起之路。他踏遍寰宇,阅尽各色美女,修出绝世神威,弑圣屠魔,霸凌万古。却忽然发现,一切早有预谋,他只不过是一枚棋子……
* chapterid : 1147548
* topic : 第1814章 圣主驾到
* topic_first : 第001章暴打冰美人
* date_updated : 1551335716
* author : 2100900
* author_name : 项华
* top_class : 502
* state : 1
* readCount : 18
* praiseCount : 2
* stat_name : 连载
* class_name : 东方玄幻
* size : 4493833
* book_cover : http://img-tailor.11222.cn/bcv/big/201701131047373571.jpg
* chapterid_first : 765032
* chargeMode : 3
* digest : 0
* price : 0.5
* tag : ["热血","爽文","YY"]
* is_new : 1
* discountNum : 10
* quick_price : 0
* formats : 1
* audiobook_playCount : 0
* chapterNum : 1814
* isShortStory : false
* userid : 704073047
* search_heat : 81
* num_click : 1127216
* recommend_num : 1085523
* first_cate_id : 1
* first_cate_name : 玄幻小说
* reason :
*/
private String bid;
private String bookname;
private String introduction;
private String book_info;
private String chapterid;
private String topic;
private String topic_first;
private int date_updated;
private String author;
private String author_name;
private String top_class;
private String state;
private String readCount;
private String praiseCount;
private String stat_name;
private String class_name;
private String size;
private String book_cover;
private String chapterid_first;
private String chargeMode;
private String digest;
private String price;
private int is_new;
private int discountNum;
private int quick_price;
private String formats;
private String audiobook_playCount;
private String chapterNum;
private boolean isShortStory;
private String userid;
private String search_heat;
private String num_click;
private String recommend_num;
private String first_cate_id;
private String first_cate_name;
private String reason;
private List<String> tag;
public String getBid() {
return bid;
}
public void setBid(String bid) {
this.bid = bid;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getIntroduction() {
return introduction;
}
public void setIntroduction(String introduction) {
this.introduction = introduction;
}
public String getBook_info() {
return book_info;
}
public void setBook_info(String book_info) {
this.book_info = book_info;
}
public String getChapterid() {
return chapterid;
}
public void setChapterid(String chapterid) {
this.chapterid = chapterid;
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
public String getTopic_first() {
return topic_first;
}
public void setTopic_first(String topic_first) {
this.topic_first = topic_first;
}
public int getDate_updated() {
return date_updated;
}
public void setDate_updated(int date_updated) {
this.date_updated = date_updated;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getAuthor_name() {
return author_name;
}
public void setAuthor_name(String author_name) {
this.author_name = author_name;
}
public String getTop_class() {
return top_class;
}
public void setTop_class(String top_class) {
this.top_class = top_class;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getReadCount() {
return readCount;
}
public void setReadCount(String readCount) {
this.readCount = readCount;
}
public String getPraiseCount() {
return praiseCount;
}
public void setPraiseCount(String praiseCount) {
this.praiseCount = praiseCount;
}
public String getStat_name() {
return stat_name;
}
public void setStat_name(String stat_name) {
this.stat_name = stat_name;
}
public String getClass_name() {
return class_name;
}
public void setClass_name(String class_name) {
this.class_name = class_name;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getBook_cover() {
return book_cover;
}
public void setBook_cover(String book_cover) {
this.book_cover = book_cover;
}
public String getChapterid_first() {
return chapterid_first;
}
public void setChapterid_first(String chapterid_first) {
this.chapterid_first = chapterid_first;
}
public String getChargeMode() {
return chargeMode;
}
public void setChargeMode(String chargeMode) {
this.chargeMode = chargeMode;
}
public String getDigest() {
return digest;
}
public void setDigest(String digest) {
this.digest = digest;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public int getIs_new() {
return is_new;
}
public void setIs_new(int is_new) {
this.is_new = is_new;
}
public int getDiscountNum() {
return discountNum;
}
public void setDiscountNum(int discountNum) {
this.discountNum = discountNum;
}
public int getQuick_price() {
return quick_price;
}
public void setQuick_price(int quick_price) {
this.quick_price = quick_price;
}
public String getFormats() {
return formats;
}
public void setFormats(String formats) {
this.formats = formats;
}
public String getAudiobook_playCount() {
return audiobook_playCount;
}
public void setAudiobook_playCount(String audiobook_playCount) {
this.audiobook_playCount = audiobook_playCount;
}
public String getChapterNum() {
return chapterNum;
}
public void setChapterNum(String chapterNum) {
this.chapterNum = chapterNum;
}
public boolean isIsShortStory() {
return isShortStory;
}
public void setIsShortStory(boolean isShortStory) {
this.isShortStory = isShortStory;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getSearch_heat() {
return search_heat;
}
public void setSearch_heat(String search_heat) {
this.search_heat = search_heat;
}
public String getNum_click() {
return num_click;
}
public void setNum_click(String num_click) {
this.num_click = num_click;
}
public String getRecommend_num() {
return recommend_num;
}
public void setRecommend_num(String recommend_num) {
this.recommend_num = recommend_num;
}
public String getFirst_cate_id() {
return first_cate_id;
}
public void setFirst_cate_id(String first_cate_id) {
this.first_cate_id = first_cate_id;
}
public String getFirst_cate_name() {
return first_cate_name;
}
public void setFirst_cate_name(String first_cate_name) {
this.first_cate_name = first_cate_name;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public List<String> getTag() {
return tag;
}
public void setTag(List<String> tag) {
this.tag = tag;
}
}
}
adapter
MyAdapter
package com.bawei.week3.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.bawei.week3.bean.JsonBean;
import java.util.List;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class MyAdapter extends BaseAdapter {
private List<JsonBean.DataBean> list;
private Context context;
public MyAdapter(List<JsonBean.DataBean> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view=View.inflate(context,android.R.layout.simple_list_item_1,null);
TextView textView=view.findViewById(android.R.id.text1);
textView.setText(list.get(i).getAuthor_name());
return view;
}
}
*TabAdapter
package com.bawei.week3.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 java.util.ArrayList;
/**
* @Author:Lenovo
* @E-mail:
* @Date:2019/2/15 19:33
* @Description:描述信息
*/
public class TabAdapter extends FragmentPagerAdapter {
private String str[];
private ArrayList<Fragment> list;
public TabAdapter(FragmentManager fm, String[] str, ArrayList<Fragment> list) {
super(fm);
this.str = str;
this.list = list;
}
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return str[position];
}
}