@SuppressWarnings({ "rawtypes" })
public void addAttendance(ArrayList<Properties> attendanceusers) {
//tl.removeView(tr);
tl.removeAllViews();
//addHeaderAttendance();
ctr=0;
for (Iterator i = attendanceusers.iterator(); i.hasNext();) {
Properties p = (Properties) i.next();
property_list.add(p);
/** Create a TableRow dynamically **/
tr = new TableRow(this);
picurl=p.getPic();
profile = new ImageView(this);
profile.setPadding(20,50,20,50);
/* URL newurl = new URL(picurl);
bmp = BitmapFactory.decodeStream(newurl.openConnection().getInputStream());
profile.setImageBitmap(bmp);*/
try {
Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(picurl).getContent());
profile.setImageBitmap(bitmap);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
profile.setOnClickListener(this);
//myButton.setPadding(5, 5, 5, 5);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 0);
Ll.setPadding(0, 0, 20, 0);
Ll.addView(profile,params);
tr.addView((View)Ll);
// Add the TableRow to the TableLayout
tl.addView(tr, new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
}
}
我的用于填充图像的代码无法正常工作,因为我的主要方法正在处理一个线程。你能建议一个我可以放在方法上的代码吗?这篇文章与堆栈中的任何其他帖子不重复。 我在我正在工作的其他类上尝试了这个代码,但是如果main方法(我使用的是一个线程)它会闪烁并闪烁:
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
InputStream in = new URL(picurl).openStream();
bmp = BitmapFactory.decodeStream(in);
} catch (Exception e) {
// log error
}
return null;
}
@Override
protected void onPostExecute(Void result) {
if (bmp != null)
profile.setImageBitmap(bmp);
}
}.execute();
但是,如果我把它放在我粘贴的第一个代码中。 ui将不断闪烁,因为它是一个线程内的线程。我的图像太大了我无法正确调整它你能帮助我吗?我会保证给那些可以帮助我的人一张支票和一个加号,对于那些努力的人我也会给出一点意见