Android 未在baseadapter中加载映像
我正在使用simpleAdapter加载autocompletetextview中的图像和文本以及Android 未在baseadapter中加载映像,android,baseadapter,autocompletetextview,universal-image-loader,simpleadapter,Android,Baseadapter,Autocompletetextview,Universal Image Loader,Simpleadapter,我正在使用simpleAdapter加载autocompletetextview中的图像和文本以及Universal\u Image\u loader库,但我没有得到图像。如何使其工作?我真的很感谢你的帮助。提前谢谢你 public class SimpleAdapter extends BaseAdapter { private Activity activity; private ArrayList<HashMap<String, Str
Universal\u Image\u loader
库,但我没有得到图像。如何使其工作?我真的很感谢你的帮助。提前谢谢你
public class SimpleAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader ;
Bitmap image;
private DisplayImageOptions defaultOptions;
public SimpleAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// imageLoader=new ImageLoader(activity.getBaseContext());
defaultOptions = new DisplayImageOptions.Builder().build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(activity)
.threadPoolSize(2)
.memoryCache(new WeakMemoryCache())
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.build();
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
imageLoader.init(ImageLoaderConfiguration.createDefault(activity));
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.list_row, null);
TextView title = (TextView)vi.findViewById(R.id.textView1); // title
TextView artist = (TextView)vi.findViewById(R.id.textView2); // artist name
TextView duration = (TextView)vi.findViewById(R.id.textView3); // duration
ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image); // thumb image
HashMap<String, String> song = new HashMap<String, String>();
song = data.get(position);
// Setting all values in listview
title.setText(song.get("firstname"));
artist.setText(song.get("lastname"));
duration.setText(song.get("time"));
imageLoader.displayImage(song.get("link"), thumb_image, defaultOptions);
return vi;
}
}
公共类SimpleAdapter扩展了BaseAdapter{
私人活动;
私有数组列表数据;
专用静态充气机=空;
公共图像加载器;
位图图像;
私有DisplayImageOptions默认选项;
公共SimpleAdapter(活动a,ArrayList d){
活动=a;
数据=d;
充气器=(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
//imageLoader=新的imageLoader(activity.getBaseContext());
defaultOptions=新建DisplayImageOptions.Builder().build();
ImageLoaderConfiguration配置=新建ImageLoaderConfiguration.Builder(活动)
.线程池大小(2)
.memoryCache(新的WeakMemoryCache())
.discCacheFileNameGenerator(新的Md5FileNameGenerator())
.build();
imageLoader=imageLoader.getInstance();
init(config);
init(ImageLoaderConfiguration.createDefault(活动));
}
public int getCount(){
返回data.size();
}
公共对象getItem(int位置){
返回位置;
}
公共长getItemId(int位置){
返回位置;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
if(convertView==null)
vi=充气机充气(R.layout.list_行,空);
TextView title=(TextView)vi.findViewById(R.id.textView1);//title
TextView艺术家=(TextView)vi.findViewById(R.id.textView2);//艺术家姓名
TextView持续时间=(TextView)vi.findViewById(R.id.textView3);//持续时间
ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image);//thumb image
HashMap宋=新HashMap();
宋=数据。获取(位置);
//在listview中设置所有值
title.setText(song.get(“firstname”);
Artister.setText(song.get(“lastname”);
duration.setText(song.get(“time”));
imageLoader.displayImage(song.get(“link”)、thumb\u image、defaultOptions);
返回vi;
}
}
//////
代码:
//
List aList=new ArrayList();
试一试{
JSONArray arr=result.getJSONArray(“数组”);
对于(int i=0;i您应该使用
imageLoader=new ImageLoader(activity);
而不是
imageLoader=new ImageLoader(activity.getBaseContext());
也在这里换车
private Activity activity;
到
也从这里
public SimpleAdapter(Activity a, ArrayList<HashMap<String, String>> d)
公共SimpleAdapter(活动a,ArrayList d)
到
公共SimpleAdapter(上下文a,数组列表d)
尝试使用
imageLoader=new ImageLoader(activity.getApplicationContext());
你能给我一个歌曲的值吗?get(“link”)必须检查图像键是否为“link”。类似于下面的内容,在你将json字符串放入哈希的地方发布你的代码Map@PiyushGupta代码已更新。请查看。谢谢。当我添加
ImageLoader=new ImageLoader(Activity)时,我发现构造函数ImageLoader(Activity)未定义
我仍然得到相同的错误。构造函数ImageLoader(活动)未定义
发布你的ImageLoader类。问题在构造函数中。我没有ImageLoader类,我添加了外部库通用图像加载器。仅此而已。我知道在该类中更改构造函数。在这方面,你必须放置上下文而不是活动。
public SimpleAdapter(Activity a, ArrayList<HashMap<String, String>> d)
public SimpleAdapter(Context a, ArrayList<HashMap<String, String>> d)
imageLoader=new ImageLoader(activity.getApplicationContext());