简单的多条目

76 阅读1分钟

1.适配器

public class ListBase extends BaseAdapter {

private Context context;
private List<ShowBean.DataBean> list;

public ListBase(Context context) {
this.context = context;
list = new ArrayList<>();
}

public void setData(List<ShowBean.DataBean> lists){
//list.addAll(lists);
list = lists;
notifyDataSetChanged();
}

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

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

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

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


@Override
public int getItemViewType(int position) {
if(position % 2 == 0){
return 0;
}else {
return 1;
}
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolderItem holderItem;
ViewHolderItems holderItems;

if(getItemViewType(position) ==0 ){

if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
holderItem = new ViewHolderItem();
holderItem.img = convertView.findViewById(R.id.imageView);
holderItem.text = convertView.findViewById(R.id.textView);
convertView.setTag(holderItem);
}else {
holderItem = (ViewHolderItem) convertView.getTag();
}
holderItem.text.setText(getItem(position).getNews_title());
ImageLoader.getInstance().displayImage(getItem(position).getPic_url(),holderItem.img);
}else {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.items, parent, false);
holderItems = new ViewHolderItems();
holderItems.img1 = convertView.findViewById(R.id.imageView1);
holderItems.img2 = convertView.findViewById(R.id.imageView2);
holderItems.img3 = convertView.findViewById(R.id.imageView3);
holderItems.text = convertView.findViewById(R.id.textView);
convertView.setTag(holderItems);
} else {
holderItems = (ViewHolderItems) convertView.getTag();
}
holderItems.text.setText(getItem(position).getNews_title());
ImageLoader.getInstance().displayImage(getItem(position).getPic_url(), holderItems.img1);
ImageLoader.getInstance().displayImage(getItem(position).getPic_url(), holderItems.img2);
ImageLoader.getInstance().displayImage(getItem(position).getPic_url(), holderItems.img3);
}
return convertView;
}

class ViewHolderItem{
TextView text;
ImageView img;
}
class ViewHolderItems{
TextView text;
ImageView img1,img2,img3;
}

}
2.Fragment页面

public class ShowFragment extends Fragment {

private ListView listView;
private ListBase listBase;
private String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.showfragment,container,false);
//获取资源ID
listView = v.findViewById(R.id.list);

return v;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
listBase = new ListBase(getActivity());
listView.setAdapter(listBase);
NetUtil.getJson(path, ShowBean.class, new NetUtil.CallBack<ShowBean>() {
@Override
public void sucesss(ShowBean o) {
listBase.setData(o.getData());
}
});
}
}
用的listView!!!