【发布时间】:2016-05-26 01:03:34
【问题描述】:
嗨,我正在尝试在文件类型来自 webservices 的列表视图中实现多重布局,任何人都可以建议如何完成任务提前谢谢下面是我的代码,我已经实现了下面的适配器,但在视图中给出了 null
适配器
package kbs.com.dynamiclistview;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import java.util.ArrayList;
/**
* Created by user on 2/13/2016.
*/
public class MyCustomAdapter extends BaseAdapter {
ArrayList<Bean> slist = new ArrayList<Bean>();
Context context;
public MyCustomAdapter(ArrayList<Bean> slist, Context context) {
this.slist = slist;
this.context = context;
}
@Override
public int getCount() {
return slist.size();
}
@Override
public Object getItem(int i) {
return slist.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
final Bean bean = slist.get(i);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (view == null) {
if (slist.get(i).getFiletype().equalsIgnoreCase("TEXT")) {
System.out.println("In if text :--" + bean.getFiletype());
view = inflater.inflate(R.layout.textlayout, viewGroup, false);
TextView itemname = (TextView) view.findViewById(R.id.itemname);
itemname.setText(bean.filetext);
}
if (slist.get(i).getFiletype().equalsIgnoreCase("IMAGES")) {
// LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.imglayout, viewGroup, false);
System.out.println("In if image :--" + bean.getFiletype());
ImageView img = (ImageView) view.findViewById(R.id.img);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(context));
DisplayImageOptions option = new DisplayImageOptions.Builder().displayer(new RoundedBitmapDisplayer(1000)).cacheInMemory(true)
.cacheOnDisc(true).resetViewBeforeLoading(true)
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.drawable.close)
.showImageOnLoading(R.drawable.images).bitmapConfig(Bitmap.Config.RGB_565).build();
imageLoader.displayImage(bean.getFileurl(), img, option);
}
}
return view;
}
}
【问题讨论】:
-
嗨,你能帮我举个例子吗,因为我从未在回收站视图上工作过
标签: android android-layout listview layout