activity_main布局
<?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">
<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:background="#f4bebe"
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" />
<RadioGroup
android:id="@+id/radioG"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:checked="true"
android:drawableTop="@drawable/sel"
android:gravity="center"
android:text="首页"/>
<RadioButton
android:id="@+id/rb2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:drawableTop="@drawable/sel"
android:gravity="center"
android:text="我的" />
</RadioGroup>
</LinearLayout>
<!--侧滑-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="@drawable/dilireba1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="迪丽热巴"
android:textColor="#ffffff"
android:textSize="30sp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
MainActivity
package weektest.baway.com.day7_2;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.RadioGroup;
import weektest.baway.com.day7_2.fragment.Frag1;
import weektest.baway.com.day7_2.fragment.Frag2;
public class MainActivity extends AppCompatActivity {
private FrameLayout frag;
private RadioGroup radioG;
private Frag1 frag1;
private Frag2 frag2;
private FragmentManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frag = findViewById(R.id.frag);
radioG = findViewById(R.id.radioG);
frag1 = new Frag1();
frag2 = new Frag2();
manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.frag, frag1)
.add(R.id.frag, frag2)
.show(frag1)
.hide(frag2)
.commit();
radioG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction transaction = manager.beginTransaction();
switch (checkedId) {
case R.id.rb1:
transaction.show(frag1)
.hide(frag2);
break;
case R.id.rb2:
transaction.show(frag2)
.hide(frag1);
break;
}
transaction.commit();
}
});
}
}
Fragment布局
<?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:background="#ecd3a0"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></android.support.v4.view.ViewPager>
</LinearLayout>
Fragment
package weektest.baway.com.day7_2.fragment;
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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.adapter.TabAdapter;
import weektest.baway.com.day7_2.tablayout.Tab1;
import weektest.baway.com.day7_2.tablayout.Tab2;
import weektest.baway.com.day7_2.tablayout.Tab3;
public class Frag1 extends Fragment {
private TabLayout tab;
private ViewPager viewPager;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag1, container, false);
tab = view.findViewById(R.id.tab);
viewPager = view.findViewById(R.id.vp);
ArrayList<Fragment> list = new ArrayList<>();
list.add(new Tab1());
list.add(new Tab2());
list.add(new Tab3());
String[] str = {"love", "贾武少雄","(#^.^#)"};
TabAdapter adapter = new TabAdapter(getActivity().getSupportFragmentManager(), list, str);
viewPager.setAdapter(adapter);
tab.setupWithViewPager(viewPager);
return view;
}
}
TabAdapter适配器
package weektest.baway.com.day7_2.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;
public class TabAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> list;
String[] str;
public TabAdapter(FragmentManager fm, ArrayList<Fragment> list, String[] str) {
super(fm);
this.list = list;
this.str = str;
}
@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];
}
}
HttpUtil
package weektest.baway.com.day7_2;
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.URL;
public class HttpUtil {
public static boolean isNet(Context context){
if (context!=null){
ConnectivityManager mConnectivityManager =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo=mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo!=null){
return mNetworkInfo.isAvailable();
}
}
return false;
}
public static void httpAsyncTask(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.setReadTimeout(5000);
connection.setConnectTimeout(5000);
InputStream stream=connection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(stream));
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;
}
}
Banner+PullToRefreshListView+上拉加载下拉刷新布局(tab1)
<?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:background="@drawable/pink1"
android:orientation="vertical">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="150dp" />
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/pull"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
Banner+PullToRefreshListView+上拉加载下拉刷新(tab1)
package weektest.baway.com.day7_2.tablayout;
import android.content.Context;
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;
import android.widget.ImageView;
import android.widget.ListView;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import weektest.baway.com.day7_2.HttpUtil;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.adapter.PullAdapter;
import weektest.baway.com.day7_2.bean.BannerBean;
import weektest.baway.com.day7_2.bean.One;
import weektest.baway.com.day7_2.bean.PullBean;
import weektest.baway.com.day7_2.bean.Three;
public class Tab1 extends Fragment {
private Banner banner;
private ArrayList<One> list;
String listUrl = "http://172.17.8.100/small/commodity/v1/commodityList";
String bannerUrl = "https://api.apiopen.top/videoCategory";
private PullToRefreshListView listView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab1, container, false);
banner = view.findViewById(R.id.banner);
listView = view.findViewById(R.id.pull);
listView.setMode(PullToRefreshListView.Mode.BOTH);
listView.setScrollingWhileRefreshingEnabled(true);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//轮播图
HttpUtil.httpAsyncTask(bannerUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
BannerBean bean = gson.fromJson(s, BannerBean.class);
List<BannerBean.ResultBean.ItemListBean> list = bean.getResult().getItemList();
banner.setImages(list);
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
BannerBean.ResultBean.ItemListBean bean1 = (BannerBean.ResultBean.ItemListBean) path;
Glide.with(context).load(bean1.getData().getIcon()).into(imageView);
}
});
banner.setDelayTime(3000);
banner.isAutoPlay(true);
banner.start();
}
});
//列表
HttpUtil.httpAsyncTask(listUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
PullBean pullBean = gson.fromJson(s, PullBean.class);
Three result = pullBean.getResult();
ArrayList<One> commodityList = result.getMlss().getCommodityList();
ArrayList<One> commodityList1 = result.getPzsh().getCommodityList();
ArrayList<One> commodityList2 = result.getRxxp().getCommodityList();
list = new ArrayList<>();
list.addAll(commodityList);
list.addAll(commodityList1);
list.addAll(commodityList2);
PullAdapter adapter = new PullAdapter(list, getActivity());
listView.setAdapter(adapter);
}
});
//上拉下拉刷新
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
HttpUtil.httpAsyncTask(listUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
PullBean pullBean = gson.fromJson(s, PullBean.class);
Three result = pullBean.getResult();
ArrayList<One> commodityList = result.getMlss().getCommodityList();
ArrayList<One> commodityList1 = result.getPzsh().getCommodityList();
ArrayList<One> commodityList2 = result.getRxxp().getCommodityList();
list = new ArrayList<>();
list.addAll(commodityList);
list.addAll(commodityList1);
list.addAll(commodityList2);
PullAdapter adapter = new PullAdapter(list, getActivity());
listView.setAdapter(adapter);
listView.onRefreshComplete();
}
});
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
HttpUtil.httpAsyncTask(listUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
PullBean pullBean = gson.fromJson(s, PullBean.class);
Three result = pullBean.getResult();
ArrayList<One> commodityList = result.getMlss().getCommodityList();
ArrayList<One> commodityList1 = result.getPzsh().getCommodityList();
ArrayList<One> commodityList2 = result.getRxxp().getCommodityList();
list = new ArrayList<>();
list.addAll(commodityList);
list.addAll(commodityList1);
list.addAll(commodityList2);
PullAdapter adapter = new PullAdapter(list, getActivity());
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
listView.onRefreshComplete();
}
});
}
});
}
}
item_pull布局
<?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="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="120dp"
android:layout_height="120dp"
android:padding="20dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/price"
android:layout_width="120dp"
android:layout_height="35dp"
android:gravity="center"
android:text="PRICE"
android:textSize="20sp" />
</LinearLayout>
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="155dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:padding="20dp"
android:text="TEXT"
android:textSize="26sp" />
</LinearLayout>
PullAdapter适配器
package weektest.baway.com.day7_2.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.bumptech.glide.Glide;
import java.util.ArrayList;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.bean.One;
public class PullAdapter extends BaseAdapter {
ArrayList<One> list;
Context context;
public PullAdapter(ArrayList<One> list, Context context) {
this.list = list;
this.context = context;
}
@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 holder = null;
if (convertView== null) {
convertView = View.inflate(context, R.layout.item_pull, null);
holder = new ViewHolder();
holder.imageView = (ImageView) convertView.findViewById(R.id.imageView);
holder.textView = (TextView) convertView.findViewById(R.id.textView);
holder.price = (TextView) convertView.findViewById(R.id.price);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
One bean = list.get(position);
holder.textView.setText(bean.getCommodityName());
holder.price.setText("价格:"+bean.getPrice());
Glide.with(context).load(bean.getMasterPic()).into(holder.imageView);
return convertView;
}
class ViewHolder {
private ImageView imageView;
private TextView textView;
private TextView price;
}
}
GridView 网格布局(tab2)
<?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:background="#b7fce8"
android:orientation="vertical">
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"/>
</LinearLayout>
GridView (Tab2)
package weektest.baway.com.day7_2.tablayout;
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;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import com.google.gson.Gson;
import java.util.ArrayList;
import weektest.baway.com.day7_2.HttpUtil;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.adapter.GridAdapter;
import weektest.baway.com.day7_2.adapter.PullAdapter;
import weektest.baway.com.day7_2.bean.One;
import weektest.baway.com.day7_2.bean.PullBean;
import weektest.baway.com.day7_2.bean.Three;
public class Tab2 extends Fragment {
private GridView gridView;
String gridUrl = "http://172.17.8.100/small/commodity/v1/commodityList";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab2, container, false);
gridView = view.findViewById(R.id.grid);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//Grid
HttpUtil.httpAsyncTask(gridUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
PullBean pullBean = gson.fromJson(s, PullBean.class);
Three result = pullBean.getResult();
ArrayList<One> commodityList = result.getRxxp().getCommodityList();
ArrayList<One> commodityList1 = result.getPzsh().getCommodityList();
ArrayList<One> commodityList2 = result.getMlss().getCommodityList();
final ArrayList<One> list = new ArrayList<>();
list.addAll(commodityList);
list.addAll(commodityList1);
list.addAll(commodityList2);
GridAdapter adapter = new GridAdapter(list, getActivity());
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), "asdfghjkl",Toast.LENGTH_SHORT).show();
}
});
}
});
}
}
item_grid布局
<?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:id="@+id/imageView"
android:layout_width="150dp"
android:layout_height="150dp"
android:padding="20dp"
android:layout_gravity="center"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="45dp"
android:text="text"
android:padding="5dp"
android:textSize="24dp" />
<TextView
android:id="@+id/price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="price"
android:textColor="#FB1343"
android:textSize="26dp" />
</LinearLayout>
GridAdapter适配器
package weektest.baway.com.day7_2.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 android.widget.Toast;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import weektest.baway.com.day7_2.MainActivity;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.bean.One;
public class GridAdapter extends BaseAdapter {
ArrayList<One> list;
Context context;
public GridAdapter(ArrayList<One> list, Context context) {
this.list = list;
this.context = context;
}
@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 holder;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item_grid, null);
holder = new ViewHolder();
holder.imageView = (ImageView) convertView.findViewById(R.id.imageView);
holder.textView = (TextView) convertView.findViewById(R.id.textView);
holder.price = (TextView) convertView.findViewById(R.id.price);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
One one = list.get(position);
holder.textView.setText(one.getCommodityName());
holder.price.setText("¥" + one.getPrice());
Glide.with(context).load(one.getMasterPic()).into(holder.imageView);
return convertView;
}
class ViewHolder {
ImageView imageView;
TextView textView, price;
}
}
XListView+上拉刷新下拉加载布局(tab3)
<?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">
<com.qy.xlistview.XListView
android:id="@+id/xlist"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
XListView+上拉刷新下拉加载(Tab3)
package weektest.baway.com.day7_2.tablayout;
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;
import com.google.gson.Gson;
import com.qy.xlistview.XListView;
import java.util.List;
import weektest.baway.com.day7_2.HttpUtil;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.adapter.XlistAdapter;
import weektest.baway.com.day7_2.bean.XlistBean;
public class Tab3 extends Fragment {
String xlistUrl = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
private XListView listView;
private XlistAdapter xlistAdapter;
private List<XlistBean.DataBean> list;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab3, container, false);
listView = view.findViewById(R.id.xlist);
listView.setPullLoadEnable(true);
listView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
HttpUtil.httpAsyncTask(xlistUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
XlistBean xlistBean = gson.fromJson(s, XlistBean.class);
list = xlistBean.getData();
xlistAdapter = new XlistAdapter(list, getActivity());
listView.setAdapter(xlistAdapter);
listView.stopRefresh();
}
});
}
@Override
public void onLoadMore() {
HttpUtil.httpAsyncTask(xlistUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
XlistBean xlistBean = gson.fromJson(s, XlistBean.class);
List<XlistBean.DataBean> list2 = xlistBean.getData();
list.addAll(list2);
listView.stopLoadMore();
listView.deferNotifyDataSetChanged();
}
});
}
});
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
HttpUtil.httpAsyncTask(xlistUrl, new HttpUtil.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
XlistBean xlistBean = gson.fromJson(s, XlistBean.class);
list = xlistBean.getData();
xlistAdapter = new XlistAdapter(list, getActivity());
listView.setAdapter(xlistAdapter);
}
});
}
}
item_xlist布局
<?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="horizontal">
<ImageView
android:id="@+id/imageView0"
android:layout_width="100dp"
android:layout_height="100dp"
android:padding="20dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/textView0"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1"
android:gravity="center_vertical" />
</LinearLayout>
<?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="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1"
android:gravity="center_vertical" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:padding="20dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
XListAdapter适配器
package weektest.baway.com.day7_2.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.bumptech.glide.Glide;
import java.util.List;
import weektest.baway.com.day7_2.R;
import weektest.baway.com.day7_2.bean.XlistBean;
public class XlistAdapter extends BaseAdapter {
List<XlistBean.DataBean> list;
Context context;
public XlistAdapter(List<XlistBean.DataBean> list, Context context) {
this.list = list;
this.context = context;
}
@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) {
int type = getItemViewType(position);
switch (type) {
case 0:
ViewHolder0 holder0 = null;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item_xlist0, null);
holder0 = new ViewHolder0();
holder0.imageView0 = (ImageView) convertView.findViewById(R.id.imageView0);
holder0.textView0 = (TextView) convertView.findViewById(R.id.textView0);
convertView.setTag(holder0);
} else {
holder0 = (ViewHolder0) convertView.getTag();
}
XlistBean.DataBean bean0 = list.get(position);
holder0.textView0.setText(bean0.getNews_title());
Glide.with(context).load(bean0.getPic_url()).into(holder0.imageView0);
break;
case 1:
ViewHolder1 holder1 = null;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item_xlist1, null);
holder1 = new ViewHolder1();
holder1.imageView1 = (ImageView) convertView.findViewById(R.id.imageView1);
holder1.textView1 = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder1);
} else {
holder1 = (ViewHolder1) convertView.getTag();
}
XlistBean.DataBean bean1 = list.get(position);
holder1.textView1.setText(bean1.getNews_title());
Glide.with(context).load(bean1.getPic_url()).into(holder1.imageView1);
break;
}
return convertView;
}
class ViewHolder0 {
ImageView imageView0;
TextView textView0;
}
class ViewHolder1 {
ImageView imageView1;
TextView textView1;
}
//没有这两个,多条目效果可出不来哦
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
return position % 2;
}
}
BannerBean
自动生成
package weektest.baway.com.day7_2.bean;
import java.util.List;
public class BannerBean {
private int code;
private String message;
private ResultBean result;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public ResultBean getResult() {
return result;
}
public void setResult(ResultBean result) {
this.result = result;
}
public static class ResultBean {
private boolean adExist;
private int count;
private int total;
private List<ItemListBean> itemList;
public boolean isAdExist() {
return adExist;
}
public void setAdExist(boolean adExist) {
this.adExist = adExist;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<ItemListBean> getItemList() {
return itemList;
}
public void setItemList(List<ItemListBean> itemList) {
this.itemList = itemList;
}
public static class ItemListBean {
private int adIndex;
private DataBean data;
private int id;
private String type;
public int getAdIndex() {
return adIndex;
}
public void setAdIndex(int adIndex) {
this.adIndex = adIndex;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public static class DataBean {
private String actionUrl;
private String dataType;
private String description;
private boolean expert;
private FollowBean follow;
private String icon;
private String iconType;
private int id;
private boolean ifPgc;
private String title;
public String getActionUrl() {
return actionUrl;
}
public void setActionUrl(String actionUrl) {
this.actionUrl = actionUrl;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isExpert() {
return expert;
}
public void setExpert(boolean expert) {
this.expert = expert;
}
public FollowBean getFollow() {
return follow;
}
public void setFollow(FollowBean follow) {
this.follow = follow;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIconType() {
return iconType;
}
public void setIconType(String iconType) {
this.iconType = iconType;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public boolean isIfPgc() {
return ifPgc;
}
public void setIfPgc(boolean ifPgc) {
this.ifPgc = ifPgc;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public static class FollowBean {
private boolean followed;
private int itemId;
private String itemType;
public boolean isFollowed() {
return followed;
}
public void setFollowed(boolean followed) {
this.followed = followed;
}
public int getItemId() {
return itemId;
}
public void setItemId(int itemId) {
this.itemId = itemId;
}
public String getItemType() {
return itemType;
}
public void setItemType(String itemType) {
this.itemType = itemType;
}
}
}
}
}
}
XListBean
自动生成
package weektest.baway.com.day7_2.bean;
import java.util.List;
public class XlistBean {
private String info;
private int status;
private List<DataBean> data;
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String news_id;
private String news_summary;
private String news_title;
private String pic_url;
public String getNews_id() {
return news_id;
}
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;
}
}
}
PullBean
one
package weektest.baway.com.day7_2.bean;
public class One {
/* "commodityId": 17,
"commodityName": "化妆镜",
"masterPic": "http://172.17.8.100/images/small/commodity/mzhf/mzgj/7/1.jpg",
"price": 31,
"saleNum": 0*/
private int commodityId;
private String commodityName;
private String masterPic;
private int price;
private int saleNum;
public int getCommodityId() {
return commodityId;
}
public void setCommodityId(int commodityId) {
this.commodityId = commodityId;
}
public String getCommodityName() {
return commodityName;
}
public void setCommodityName(String commodityName) {
this.commodityName = commodityName;
}
public String getMasterPic() {
return masterPic;
}
public void setMasterPic(String masterPic) {
this.masterPic = masterPic;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getSaleNum() {
return saleNum;
}
public void setSaleNum(int saleNum) {
this.saleNum = saleNum;
}
}
two
package weektest.baway.com.day7_2.bean;
import java.util.ArrayList;
public class Two {
/* "commodityList":
"id": 1004,
"name": "品质生活"*/
private ArrayList<One> commodityList;
private int id;
private String name;
public ArrayList<One> getCommodityList() {
return commodityList;
}
public void setCommodityList(ArrayList<One> commodityList) {
this.commodityList = commodityList;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
three
package weektest.baway.com.day7_2.bean;
public class Three {
private Two mlss;
private Two pzsh;
private Two rxxp;
public Two getMlss() {
return mlss;
}
public void setMlss(Two mlss) {
this.mlss = mlss;
}
public Two getPzsh() {
return pzsh;
}
public void setPzsh(Two pzsh) {
this.pzsh = pzsh;
}
public Two getRxxp() {
return rxxp;
}
public void setRxxp(Two rxxp) {
this.rxxp = rxxp;
}
}
four
package weektest.baway.com.day7_2.bean;
public class PullBean {
private String message;
private Three result;
private String status;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Three getResult() {
return result;
}
public void setResult(Three result) {
this.result = result;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}