MainActivity
多条目加载 本人使用的是自己ip需要打开Tomcat才能运行
public class MainActivity extends Activity {
//全局变量
private ListView lv;
private Myadapter adapter;
List<MaxNews.DataEntity> list=new ArrayList<MaxNews.DataEntity>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局
setContentView(R.layout.listviews);
//找控件
lv = (ListView) findViewById(R.id.lv);
//调用方法
initData();
//创建适配器
adapter = new Myadapter();
lv.setAdapter(adapter);
}
//异步任务
private void initData() {
new AsyncTask<String, String, String>() {
@Override
protected String doInBackground(String... strings) {
//调用方法
getData();
return null;
}
@Override
protected void onPostExecute(String s) {
//刷新适配器
adapter.notifyDataSetChanged();
super.onPostExecute(s);
}
}.execute();
}
//加载网络数据
private void getData() {
try {
//因为是自己的ip,所以需要打开Tomcat才能运行
URL url=new URL("http://169.254.168.158:8080/day10/news.json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// conn.setRequestMethod("GET");
int code = conn.getResponseCode();
if (code==200){
//Gson解析
Gson gson=new Gson();
MaxNews titleMaxNews = gson.fromJson(new InputStreamReader(conn.getInputStream(),"GBK"), MaxNews.class);
list= MaxNews.getData();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//创建适配器
public class Myadapter extends BaseAdapter{
public static final int TYPE_ONE = 0;
public static final int TYPE_TWO = 1;
@Override
public int getCount() {
return list.size();
}
@Override
public int getItemViewType(int position) {
if (list.get(position).getType()==10001){
return TYPE_ONE;
}else {
return TYPE_TWO;
}
}
@Override
public int getViewTypeCount() {
return 2;
}
@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) {
ViewHolder1 holder1=null;
ViewHolder2 holder2=null;
int type=getItemViewType(i);
if (view==null){
if (type==TYPE_ONE){
//加载布局1找控件
view=View.inflate(LeftCeTitleThreeActivity.this,R.layout.listviews_item1,null);
holder1=new ViewHolder1();
holder1.it1= (TextView) view.findViewById(R.id.listview_item1tv1);
holder1.it2=(TextView) view.findViewById(R.id.listview_item1tv2);
holder1.iv= (ImageView) view.findViewById(R.id.listview_item1iv1);
view.setTag(holder1);
}else {
//加载布局2找控件
view=View.inflate(LeftCeTitleThreeActivity.this,R.layout.listviews_item2,null);
holder2=new ViewHolder2();
holder2.it1s= (TextView) view.findViewById(R.id.listview_item2tv1);
holder2.it2s=(TextView) view.findViewById(R.id.listview_item2tv2);
holder2.ivs= (ImageView) view.findViewById(R.id.listview_item2iv);
view.setTag(holder2);
}
}else {
//获得标记
if(type==TYPE_ONE){
holder1= (ViewHolder1) view.getTag();
}else {
holder2= (ViewHolder2) view.getTag();
}
}
//控件赋值
if (type==TYPE_ONE){
holder1.it1.setText(list.get(i).getNews_title());
holder1.it2.setText(list.get(i).getNews_summary());
ImageLoader.getInstance().displayImage(list.get(i).getPic_url(),holder1.iv);
}else {
holder2.it1s.setText(list.get(i).getNews_title());
holder2.it2s.setText(list.get(i).getNews_summary());
ImageLoader.getInstance().displayImage(list.get(i).getPic_url(),holder2.ivs);
}
return view;
}
}
//ViewHolder1
static class ViewHolder1{
TextView it1,it2;
ImageView iv;
}
//ViewHolder2
static class ViewHolder2{
TextView it1s,it2s;
ImageView ivs;
}
}
Layout布局
<?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"
>
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
></ListView>
</LinearLayout>
item1条目布局
item1
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/listview_item1iv1"
android:layout_width="120dp"
android:layout_height="120dp"
/>
<LinearLayout
android:layout_width="150dp"
android:layout_height="100dp"
android:orientation="vertical"
android:layout_toRightOf="@+id/listview_item1iv1"
>
<TextView
android:id="@+id/listview_item1tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="哈哈"
/>
<TextView
android:id="@+id/listview_item1tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="哈哈"
/>
</LinearLayout>
</RelativeLayout>
item2
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/listview_item2iv"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_toRightOf="@+id/list_itemll"
/>
<LinearLayout
android:id="@+id/list_itemll"
android:layout_width="150dp"
android:layout_height="100dp"
android:orientation="vertical"
>
<TextView
android:id="@+id/listview_item2tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="呵呵"
/>
<TextView
android:id="@+id/listview_item2tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="呵呵"
/>
</LinearLayout>
</RelativeLayout>