2011-08-10 9 views
0

私の活動の私のonCreateメソッドで:アンドロイド:私のListAdapterの重複ループ

ListView listView = (ListView) findViewById(R.id.listView); 
registerForContextMenu(listView); 
listView.setItemsCanFocus(false); 
Log.i(TAG, "list.size()" + list.size()); 
listView.setAdapter(new MyListAdapter(this, list)); 
listView.setTextFilterEnabled(true); 
listView.setClickable(true); 

がMyListAdapter:

public class MyListAdapter extends BaseAdapter { 

     private static final String TAG = "MyListAdapter"; 
     private Activity context; 

protected LayoutInflater mInflater; 
    protected List<?> itemList; 

     public MyListAdapter(Activity context, List<Event> list) { 
      mInflater = LayoutInflater.from(context); 
     this.context = context; 
     itemList = list; 
     } 

     public View getView(int position, View convertView, ViewGroup parent) { 

    //DO Operations... 

      Event item = (Event)(itemList.get(position)); 
      Log.i(TAG, "item.getName(): " + item.getName()); 


      return convertView; 
     } 


     public int getCount() { 
     return itemList.size(); 
    } 

    public Object getItem(int position) { 
     return itemList.get(position); 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    } 

私は、リスト内の2つの項目(AとB)を持っている場合は、私が持っていますこの結果は、logcatに:

item.getName(): A 
item.getName(): B 
item.getName(): A 
item.getName(): B 
item.getName(): A 
item.getName(): B 

ただし、項目が正しく重複せずに、リストビューに表示されます。 なぜですか?

答えて

0

convertViewがnullの場合(getView()で)ビューを作成する必要があります。 それ以外は心配しません。

+0

convertViewはnullではありません。私は二重チェックしました。私の問題は、私はいくつかのロジックがgetViewに複製されていることです... – virtual82

関連する問題