0
在我的應用程序由服務呼叫從server.For獲取圖像我使用懶loading.Now的問題是這樣的我已經使用asynk任務class.For圖像加載啓動從asynk任務新thred,當我打電話從asynk任務的背景方法加載圖像,然後屏幕變得空白一段時間,然後我看到進度條。當我做了跟蹤它,我發現我應該開始圖像加載在一個新的線程。所以我想要知道如何開始asynk任務背景method.Please幫助中一個新的線程me..I'm新this.Below是我的代碼..android系統
public class GetRestaurentDetails extends AsyncTask<Object, Object, Object>
{
Context context;
ProgressDialog progressDialog;
public GetRestaurentDetails(Context c) {
this.context=c;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
this.progressDialog=ProgressDialog.show(context,"","Please wait...");
}
@Override
protected Object doInBackground(Object... params) {
onGetRestaurentDetails();
listAdapter = new RestaurantLidtAdapter(arrImages);
setListAdapter(listAdapter);
return null;
}
@Override
protected void onPostExecute(Object result) {
super.onPostExecute(result);
progressDialog.dismiss();
}
}
和轉接類
private class RestaurantLidtAdapter extends BaseAdapter{
Holder holder = null;
LayoutInflater inflater;
ImageLoader imageLoader;
public RestaurantLidtAdapter(ArrayList<String> arrImages){
inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(RestaurantListActivity.this);
}
@Override
public int getCount() {
return arrPromotions.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView == null){
holder = new Holder();
convertView = (View)inflater.inflate(R.layout.restaurantlistrowlayout, parent, false);
holder.imgArrowImage = (ImageView)convertView.findViewById(R.id.imgArrowInHotelList);
holder.imgHotelImage = (ImageView)convertView.findViewById(R.id.rowHotelImage);
holder.txtRestaurentPromotion = (TextView)convertView.findViewById(R.id.TextViewPromotions);
holder.txtRestaurentName = (TextView)convertView.findViewById(R.id.TextViewRestaurentName);
convertView.setTag(holder);
}
else
{
holder = (Holder)convertView.getTag();
}
//holder.imgHotelImage.setImageBitmap(loadBitmap(arrImages.get(position)));
imageLoader.DisplayImage(arrImages.get(position), holder.imgHotelImage);
holder.txtRestaurentPromotion.setText(arrPromotions.get(position));
holder.txtRestaurentName.setText(arrRestaurentName.get(position));
convertView.setTag(holder);
return convertView;
}
}
@ Paresh..that不解決我的問題... – android 2012-04-16 07:24:39
@android具體談談爲什麼它不解決問題了嗎?我仍然懷疑你的AsyncTask聲明只是創建適配器並將其設置爲ListView。 – 2012-04-16 07:28:02