您的位置:首页 > 其它

Listview多条目加载

2017-07-05 14:32 288 查看
package com.example.e.listview;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<Bean> list;
private ListViewAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listView = (ListView) findViewById(R.id.listView);
list = new ArrayList<>();
for (int i = 0; i < 50; i++) {
Bean bean=new Bean("item----"+i);
list.add(bean);
}
adapter = new ListViewAdapter(this,list);
listView.setAdapter(adapter);
}
}


package com.example.e.listview;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

/**
* Created by e on 2017/5/18.
*/

public class ListViewAdapter extends BaseAdapter {
private Context context;
private List<Bean> list;
private final int TYPE1 = 0;
private final int TYPE2 = 1;
private final int TYPE3 = 2;

public ListViewAdapter(Context context, List<Bean> list) {
this.context = context;
this.list = list;
}

@Override
public int getCount() {
return list.size();
}

@Override
public Object getItem(int position) {
return list.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
int i = getItemViewType(position);
Holder1 holder1 = null;

if (convertView == null) {
holder1 = new Holder1();
switch (i) {
case TYPE1:
convertView = View.inflate(context, R.layout.item1, null);
holder1.tv = (TextView) convertView.findViewById(R.id.tv1);
break;
case TYPE2:
convertView = View.inflate([b]context, R.layout.item2, null);
holder1.tv2 = (TextView) convertView.findViewById(R.id.tv2);
break;
case TYPE3:
convertView = View.inflate(context, R.layout.item3, null);
holder1.tv3 = (TextView) convertView.findViewById(R.id.tv3);
break;
}
convertView.setTag(holder1);
} else {
holder1 = (Holder1) convertView.getTag();
}
Bean bean = list.get(position);
switch (i) {
case TYPE1:
holder1.tv.setText(list.get(position).getText());
break;
case TYPE2:
holder1.tv2.setText(list.get(position).getText());
break;
case TYPE3:
holder1.tv3.setText(list.get(position).getText());
break;
}
return convertView;
}

@Override
public int getItemViewType(int position) {
return position % getViewTypeCount();
}

@Override
public int getViewTypeCount() {
return 3;
}

class Holder1 {
TextView tv;
TextView tv2;
TextView tv3;
}
}


package com.example.e.listview;

/**
* Created by e on 2017/5/18.
*/

public class Bean {
private String text;
private String text1;
private String text2;
private int type;

public int getType() {
return type;
}

public void setType(int type) {
this.type = type;
}

public String getText2() {
return text2;
}

public void setText2(String text2) {
this.text2 = text2;
}

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

public String getText1() {
return text1;
}

public void setText1(String text1) {
this.text1 = text1;
}

public Bean(String text) {
this.text = text;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: