2

アプリにリストがあります。リストのすべての行には、image と textView があります。

対応する行がクリックされたときに、textView が右に移動するようにします。

内の textView を「取得」するにはどうすればよい"setOnItemClickListener"ですか?

これは私のアダプターです:

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

1 に答える 1

4

OnItemClickListener次の署名を持つメソッドがあります:

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

したがって、行ユーザーをクリックします。これで、行からテキストビューを取得できます。

view.findViewById(R.id.row_text_view)`.
于 2012-11-18T13:23:21.890 に答える