android - 图像未加载到 baseadapter 中

标签 android baseadapter autocompletetextview universal-image-loader simpleadapter

我正在使用 simpleAdapter 将图像和文本与 Universal_Image_loader 库一起加载到 autocompletetextview 中,但我没有获取图像。如何让它工作?非常感谢任何帮助。提前致谢。

    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;
        }


    }

//////

代码: //

 List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();

            try{
              JSONArray arr=result.getJSONArray("Array");


            for(int i=0;i<arr.length();i++)
            {
                JSONObject e1 = arr.getJSONObject(i);

                JSONObject json= (JSONObject) e1.get("data");

                String firstname = json.getString("firstname").trim();  
                String lastname = json.getString("lastname").trim();
                String link = json.getString("link").trim();
                String time = json.getString("time").trim();


                 HashMap<String, String> hm = new HashMap<String,String>();
                    hm.put("firstname", firstname);
                    hm.put("lastname", lastname );
                    hm.put("link", link);
                    hm.put("time", time);
                    aList.add(hm);

                }


            }catch(Exception e){
                e.printStackTrace();

            }


            String[] from = { "firstname","lastname","time","link"};


            int[] to = { R.id.textView1,R.id.textView2,R.id.textView3,R.id.list_image};

             adapter = new SimpleAdapter(AutoCompleteTextViewActivity.this,aList, R.layout.list_row,from,to);

               actv.setAdapter(adapter);

               adapter.notifyDataSetChanged();

最佳答案

你应该使用

imageLoader=new ImageLoader(activity);

代替

imageLoader=new ImageLoader(activity.getBaseContext());

这里也改

private Activity activity;

private Context activity;

也来自这里

public SimpleAdapter(Activity a, ArrayList<HashMap<String, String>> d)

public SimpleAdapter(Context a, ArrayList<HashMap<String, String>> d)

关于android - 图像未加载到 baseadapter 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472460/

相关文章:

java - Android 客户端 - Java 服务器和 Tor 流量

android - 哪个框架可用于在 Android 上绘制复杂的交互式 UI 层次结构? (就像 iOS 上的 CoreAnimation)

java - 在自定义 BaseAdapter 子类中使用 butterknife 导致 "Unable to inject views"错误

android - 从 View 中获取错误位置

android - 如何在 android 中使用基本适配器时过滤列表项?

android - 始终在 TextField 上方显示 AutoCompleteTextView 弹出窗口

Android - ImageView 内的 Canvas drawLine

android - fragment 或 Activity 之间的交叉淡入淡出动画

android - AutoCompleteTextView 不允许输入数字

android - 自动完成功能无法正常工作的地方