2012-10-07 78 views
2

我有一個類擴展ArrayAdapter<String>來顯示不同行的不同圖像,我不知道這是一個正確的方法。現在我的問題是:如何顯示ArrayList中的項目,圖像顯示正常,但我無法設置文本。我在一個TextView中顯示圖標和文本。arrayadapter setText

class MyAdapter extends ArrayAdapter<String> { 

Context context; 
int layoutResourceId; 
ArrayList<String> list_text; 

public MyAdapter(Context context, int layoutResourceId, ArrayList<String> list_text) { 
    super(context, layoutResourceId, list_text); 
    this.layoutResourceId = layoutResourceId; 
    this.context = context; 
    this.list_text = list_text; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View row = convertView; 
    MyItemHolder holder = null; 

    if(row == null) { 
     LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
     row = inflater.inflate(layoutResourceId, parent, false); 

     holder = new MyItemHolder(); 
     holder.iconView = (TextView)row.findViewById(R.id.item); 
     holder.textView = (TextView)row.findViewById(R.id.item); 

     row.setTag(holder); 
    } 
    else { 
     holder = (MyItemHolder)row.getTag(); 
    } 

    int d = R.drawable.picture; 
    ?ArrayList<String> text = list_text; 

    holder.iconView.setCompoundDrawablesWithIntrinsicBounds(d, 0, 0, 0); 
    ?holder.textView.setText(text); 
    return row; 
} 

static class MyItemHolder { 
    TextView iconView; 
    TextView textView; 
} 
} 

回答

2
String text = list_text.get(position); 
holder.textView.setText(text);