DrawerLayout 布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drewarlayout"
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="com.example.administrator.drawerlayout.MainActivity">
//主内容区
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<LinearLayout
android:id="@+id/linear_layou"
android:background="#ffffff"
android:orientation="vertical"
android:layout_gravity="left"
android:layout_width="170dp"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageview"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@mipmap/ic_launcher"/>
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
简单的多条目适配器代码 两种样式
public class MyAdapter extends BaseAdapter {
Context context; List<DataDataBean.DataBean> list;
int LEFT_ITEM=0;
int RIGHT_ITEM=1;
public MyAdapter(Context context, List<DataDataBean.DataBean> list) {
this.context = context;
this.list=list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
if (position%2==0){
return LEFT_ITEM;
}
return RIGHT_ITEM;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (getItemViewType(i)==LEFT_ITEM){
ViewHolder viewholder;
if (view==null){
view = View.inflate(context,R.layout.xlistview_layout,null);
viewholder = new ViewHolder();
viewholder.imageview=view.findViewById(R.id.imageview);
viewholder.textview=view.findViewById(R.id.textview);
view.setTag(viewholder);
}else{
viewholder = (ViewHolder) view.getTag();
}
//viewholder.imageview.setImageResource(R.mipmap.ic_launcher);
ImageLoader.getInstance().displayImage(list.get(i).getImg(),viewholder.imageview, ImageLoderUtils.getDeFaultOption());
viewholder.textview.setText(list.get(i).getIntroduction());
}else if(getItemViewType(i)==RIGHT_ITEM){
ViewHolder viewholder;
if (view==null){
view = View.inflate(context,R.layout.right_layout,null);
viewholder = new ViewHolder();
viewholder.imageview=view.findViewById(R.id.imageview);
viewholder.textview=view.findViewById(R.id.textview);
view.setTag(viewholder);
}else{
viewholder = (ViewHolder) view.getTag();
}
//viewholder.imageview.setImageResource(R.mipmap.ic_launcher);
ImageLoader.getInstance().displayImage(list.get(i).getImg(),viewholder.imageview, ImageLoderUtils.getDeFaultOption());
viewholder.textview.setText(list.get(i).getIntroduction());
}
return view;
}
class ViewHolder{
ImageView imageview;
TextView textview;
}
}
//单独抽取设置适配器的方法
private void setAdapter() {
//设置适配器
if (adapter==null) {
adapter = new MyAdapter(getActivity(), lists);
xlistview.setAdapter(adapter);
}else{
adapter.notifyDataSetChanged();
}
}
//解析网络数据代码块
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
//字符串地址
//String path ="http://v.juhe.cn/toutiao/index?type="+name+"&key=89443734f104eb39878a911a282055d3";
String path = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+page_num;
//将字符串转换为网络地址
try {
URL url = new URL(path);
//打开
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获得状态码
int responseCode = connection.getResponseCode();
if (responseCode==200){
InputStream inputStream = connection.getInputStream();
String json = streamToString(inputStream, "utf-8");
Log.d("TAG","解析的数据为++++++"+json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);
List<DataDataBean.DataBean> list = dataDataBean.getData();
lists.addAll(list);
//设置适配器
setAdapter();
xlistview.stopLoadMore();
}
};
asyncTask.execute();
}
//获取网络数据字节流转字符串
private String streamToString(InputStream inputStream, String charset) { try { //转换流,将字节流转字符串,并转换编码 InputStreamReader inputStreamReader = new InputStreamReader(inputStream, charset); //字符缓冲流 BufferedReader bufferedReader = new BufferedReader(inputStreamReader); //字符串缓冲区 StringBuilder stringBuilder = new StringBuilder(); // String len = null; //按行读 while((len=bufferedReader.readLine())!=null){ //追加到字符串缓冲区存放 stringBuilder.append(len); } //将字符串返回 return stringBuilder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }