1
我是Android開發人員的犧牲品,我試圖在OnCreate期間使用從twitter解析的圖像填充列表視圖。我可以填充列表視圖沒有任何問題,但列表視圖滾動生澀而不是順利。起初我認爲這是一個模擬器問題,但它也在我的設備上生澀。令人沮喪的是,我正在使用viewover方法來推薦所有教程和帖子。任何幫助是極大的讚賞。這是我的代碼...爲什麼我的listview不能順利滾動?
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.listitem, null);
ViewHolder holder = new ViewHolder();
holder.username = (TextView) v.findViewById(R.id.username);
holder.message = (TextView) v.findViewById(R.id.message);
holder.image = (ImageView) v.findViewById(R.id.avatar);
v.setTag(holder);
}
Tweet tweet = tweets.get(position);
if (tweet != null) {
ViewHolder holder = (ViewHolder)v.getTag();
holder.username = (TextView) v.findViewById(R.id.username);
holder.message = (TextView) v.findViewById(R.id.message);
holder.image = (ImageView) v.findViewById(R.id.avatar);
if (holder.username != null) {
holder.username.setText(tweet.username);
}
if(holder.message != null) {
holder.message.setText(tweet.message);
}
if(holder.image != null) {
holder.image.setImageBitmap(getBitmap(tweet.image_url));
}
}
return v;
}
}
static class ViewHolder {
TextView username;
TextView message;
ImageView image;
}
public Bitmap getBitmap(String bitmapUrl) {
try {
URL url = new URL(bitmapUrl);
return BitmapFactory.decodeStream(url.openConnection() .getInputStream());
}
catch(Exception ex) {return null;}
}
不getBitmap下載互聯網上的形象? – auselen
你可以發佈你的getBitmap代碼嗎?位圖操作可能非常慢,通常需要異步完成。 – Rob
是的,檢查我的編輯。我添加了方法,以便您可以查看它。 –