1

simpleAdapter를 사용하여 Universal_Image_loader 라이브러리와 함께 autocompletetextview에서 이미지와 텍스트를로드하지만 이미지가 표시되지 않습니다. 어떻게 작동합니까? 나는 정말로 어떤 도움을 주셔서 감사합니다. 사전에 감사합니다.이미지가 baseadapter에로드되지 않습니다

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(); 
+1

당신은 song.get ("링크")의 valur 중 하나를 제공 할 수 있습니다 –

+0

이미지 키가 "링크"인지 확인해야합니다. – Piyush

+0

https://fbcdn-sphotos-ea.akamaihd.net/hphotos-ak-frc3/p403x403/1482967_10152149744701214_1208231620_n.jpg – jason

답변

1

당신은

imageLoader=new ImageLoader(activity); 

대신

imageLoader=new ImageLoader(activity.getBaseContext()); 
사용해야합니다 6,

여기 변경도

private Activity activity; 

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

'imageLoader = new ImageLoader (activity);를 추가하면'생성자 ImageLoader (활동)가 정의되지 않았습니다. ' – jason

+0

업데이트 된 답변을 확인하십시오. – Piyush

+0

나는 여전히 같은 오류가 발생합니다. '생성자 ImageLoader (활동)가 정의되지 않았습니다. ' – jason

0

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

에서 또한 여기

private Context activity; 

에이

를 사용해보십시오
imageLoader=new ImageLoader(activity.getApplicationContext());