I have a Newsfeed(ListView) containing images. I want to load images from web and use in my activity. So I have this in my OnCreate() of MainActivity:
String url = "http://m.c.lnkd.licdn.com/mpr/pub/image-Zo8GfnPFe2SPJa2kv-bwRRP7GivkI_DrZ_bw2xHFJLOvI4T0No8wCrLzo95B7jMdzre/suneet-choudhary.jpg";
Drawable x = LoadImageFromWebOperations(url);
FeedUser FeedUser_data[] = new FeedUser[]
{
new FeedUser(x, "Usename1", "What the hell man."),
new FeedUser(x, "Username2", "Why not sunny leone."),
};
FeedUserAdapter adapter = new FeedUserAdapter(this,
R.layout.listview_item_row, FeedUser_data);
lv = (ListView)findViewById(R.id.list);
lv.setAdapter(adapter);
public static Drawable LoadImageFromWebOperations(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
return null;
}
}
Here's my FeedUser.java
public class FeedUser {
public Drawable icon;
public String title;
public String review;
public FeedUser(){
super();
}
public FeedUser(Drawable x, String title, String review) {
super();
this.icon = x;
this.title = title;
this.review = review;
}
}
And below is the FeedUser Adapter:
public class FeedUserAdapter extends ArrayAdapter<FeedUser>{
Context context;
int layoutResourceId;
FeedUser data[] = null;
public FeedUserAdapter(Context context, int layoutResourceId, FeedUser[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
FeedUserHolder holder = null;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new FeedUserHolder();
holder.imgIcon = (ImageView)row.findViewById(R.id.imgIcon);
holder.txtTitle = (TextView)row.findViewById(R.id.UserName);
holder.txtReview = (TextView)row.findViewById(R.id.ReviewText);
row.setTag(holder);
}
else
{
holder = (FeedUserHolder)row.getTag();
}
FeedUser FeedUser = data[position];
holder.txtTitle.setText(FeedUser.title);
holder.imgIcon.setImageDrawable(FeedUser.icon);
holder.txtReview.setText(FeedUser.review);
return row;
}
static class FeedUserHolder
{
ImageView imgIcon;
TextView txtTitle;
TextView txtReview;
}
}
Now it doesn't show any error, but the image doesn't load either. I'm a beginner so not sure what could be wrong :/