2012-07-17 40 views
0

我有一個ListView這顯示Drawable小號
這是我的代碼:在getView使用可繪製,使ListView的慢

@Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      ViewHolder holder; 
      if (convertView == null) { 
       holder = new ViewHolder(); 
       convertView = inflater.inflate(
         R.layout.main_advertisement_list_view_item, null); 

       holder.icon = (ImageView) convertView 
         .findViewById(R.id.imageView1); 
       holder.name = (TextView) convertView 
         .findViewById(R.id.textView1); 

       convertView.setTag(holder); 
      } else { 
       holder = (ViewHolder) convertView.getTag(); 
      } 
      Log.d("view", holder.name+""); 
      Log.d("string",getItem(position)+""); 
      holder.name.setText(getItem(position).name); 
      holder.icon.setImageResource(
        categories_icons.getResourceId(position, -1)); 
      return convertView; 
     } 

我如何延遲加載Drawables?我看到了一些示例和示例,但對於本地可繪製對象,我的代碼如何讓列表視圖移動緩慢?

回答

0

公共無效setImageResource(INT渣油)

自:API級別1

設置一個可拉伸,因爲這ImageView的內容。

這會在UI線程上執行位圖讀取和解碼,這可能導致延遲打嗝。如果這是一個問題,請考慮使用setImageDrawable

Drawable icon = _context.getResources().getDrawable(R.drawable.icon_1); 
holder.icon.setImageDrawable(icon);