2012-11-18 52 views
2

我在我的應用程序中有一個列表。列表中的每一行都有一個圖像和一個textView。如何與列表中的一行中的對象進行交互

我希望textView移動到右側,當相應的行被點擊。

如何「獲取」"setOnItemClickListener"內的textView?

這是我的適配器:

public class MyAdapter extends ArrayAdapter<String> { 
private final Context context; 
private final String[] values; 
private TextView textView; 
private ImageView icon; 
public boolean first; 

public MyAdapter(Context context, String[] values) { 
    super(context, R.layout.rowlayout, values); 
    this.context = context; 
    this.values = values; 
    this.first = true; 
} 

@SuppressWarnings("deprecation") 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rowView = inflater.inflate(R.layout.rowlayout, parent, false); 
    textView = (TextView) rowView.findViewById(R.id.row_text_view); 
    icon = (ImageView) rowView.findViewById(R.id.icon); 
    if (first) { 
     rowView.setBackgroundColor(Color.TRANSPARENT); 
     textView.setBackgroundColor(Color.TRANSPARENT); 
     icon.setBackgroundColor(Color.TRANSPARENT); 
     first = false; 
     rowView.setClickable(false); 
     rowView.setEnabled(false); 
    } else { 
     rowView.setBackgroundColor(Color.WHITE); 
     textView.setBackgroundColor(Color.WHITE); 
     icon.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.ic_launcher)); 
    } 
    textView.setText(values[position]); 

    return rowView; 
}} 

謝謝!

回答

4

OnItemClickListener有法如下簽名:

onItemClick(AdapterView<?> parent, View view, int position, long id) 

所以你行用戶點擊。您現在可以從行中獲得文本視圖:

view.findViewById(R.id.row_text_view)`. 
+0

是啊!它效果很好。謝謝! – roiberg

相關問題