2016-03-31 16 views
0

Yapmaya çalıştığım şey, görüntüleri veritabanından almak ve bunları listView'de göstermek. Bunun için bir bağdaştırıcı ve liste öğeleri sınıfı kullanıyorum ancak herhangi bir görüntü değil, ana etkinlikten geçirilen bir dize değeri değil, veritabanında saklandığı görüntünün gerçek sınıf adresi. BuListedeki görüntüleri Picasso kitaplığından sunucudan görüntüleme nasıl?

gibi aslında bu veritabanında görüntünün adrestir ve 6 görüntünün id ... Bu

http://howdysend.com/Howdy/uploads/6.png yinelenen yapmayın. İşte

Ana faaliyet

listEvents.setAdapter((ListAdapter) adapterNewsFeed); 



     adapterNewsFeed = new AdapterNewsFeed(getActivity(), R.layout.custom_events_list_in_newsfeed); 
     listEvents.setAdapter((ListAdapter) adapterNewsFeed); 


     try { 
      jsonObject = new JSONObject(json_string); 
      jsonArray = jsonObject.getJSONArray("server_response"); 

      int count = 0; 
      String EventTitle, EventDate, FriendName,friend_id,image; 
      while (count < jsonArray.length()) { 
       JSONObject JO = jsonArray.getJSONObject(count); 
       friend_id=JO.getString("friend_id"); 
       EventTitle = JO.getString("address"); 
       EventDate = JO.getString("DOB"); 
       FriendName = JO.getString("name"); 
       image=("http://howdysend.com/Howdy/uploads/" + friend_id + ".png"); 

       EventsElements eventsElements = new EventsElements(image,EventTitle, EventDate, FriendName); 



       adapterNewsFeed.add(eventsElements); 
       listEvents.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        public void onItemClick(AdapterView<?> parent, View view, 
              int position, long id) { 

         EventsElements eventsElements =(EventsElements) adapterNewsFeed.getItem(position); 
         Intent i = new Intent(getActivity(), SendGreetings.class); 

         i.putExtra("user_id", eventsElements.getFriendName()); 
         startActivity(i); 


        } 
       }); 

Elemanları Sınıf

public class EventsElements { 
private String EventTitle, EventDate,FriendName; 
public String image; 


public EventsElements(String EventTitle,String EventDate,String FriendName, String image){ 
    this.setEventTitle(EventTitle); 
    this.setEventDate(EventDate); 
    this.setFriendName(FriendName); 

    this.setImage(image); 

} 
public String getEventTitle(){ 
    return EventTitle; 
} 
public void setEventTitle(String EventTitle) { 
    this.EventTitle = EventTitle; 
} 

public String getEventDate() { 
    return EventDate; 
} 

public void setEventDate(String EventDate) { 

    this.EventDate = EventDate; 
} 

public String getFriendName() { 
    return FriendName; 
} 

public void setFriendName(String FriendName) { 

    this.FriendName = FriendName; 
} 
public String getImage() { 
    return image; 
} 

public void setImage(String image) { 

    this.image = image; 
} 


} 

benim kodudur Ve AdapterNewsFeed böylece temelde Uri.parse(eventsElements.getImage() gerekmez

public class AdapterNewsFeed extends ArrayAdapter { 
List list=new ArrayList(); 
public AdapterNewsFeed(Context context, int resource) { 
    super(context,resource); 

} 
@Override 
public int getCount() { 
    return list.size(); 
} 
public void add(EventsElements object) { 
    super.add(object); 
    list.add(object); 
} 
@Override 
public Object getItem(int position) { 
    return list.get(position); 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View view; 
    view=convertView; 
    ElementsHolder elemetsHolder; 
    if (view==null){ 
     LayoutInflater layoutInflater = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     view = layoutInflater.inflate(R.layout.custom_events_list_in_newsfeed,parent,false); 
     elemetsHolder=new ElementsHolder(); 
     elemetsHolder.EventTitle=(TextView) view.findViewById(R.id.EventTitle); 
     elemetsHolder.EventDate=(TextView) view.findViewById(R.id.EventDate); 
     elemetsHolder.FriendName=(TextView) view.findViewById(R.id.FriendName); 
     elemetsHolder.imageView=(ImageView)view.findViewById(R.id.FriendsUserImage); 
     view.setTag(elemetsHolder); 
    } 
    else 
    { 
     elemetsHolder=(ElementsHolder) view.getTag(); 

    } 
    EventsElements eventsElements=(EventsElements)this.getItem(position); 
    elemetsHolder.EventTitle.setText(eventsElements.getEventTitle()); 
    elemetsHolder.EventDate.setText(eventsElements.getEventDate()); 
    elemetsHolder.FriendName.setText(eventsElements.getFriendName()); 
    Picasso.with(getContext()).load(Uri.parse(eventsElements.getImage())).fit().into(elemetsHolder.imageView); 

    return view; 
} 





static class ElementsHolder 
{ 
    TextView EventTitle,EventDate,FriendName; 
    ImageView imageView; 
    String user_id; 
} 



} 

cevap

0

Resminiz Url'den olduğunu. Bunun yerine sadece daha fazla bilgi için bu yardımcı olur

Umut kontrol bu

Picasso.with(getContext()).load(eventsElements.getImage()).fit().into(elemetsHolder.imageView); 

gibi url set !!

+0

Ayrıca bunu denedim ama çalışmıyor. Aynı sonuçları göstererek @ g2o – Bebo

+0

Lütfen bir "Log.d (TAG," url "+ eventsElements.getImage());' önce Picasso'yu çağırıp sonucun ne olduğunu söyle. –

İlgili konular