0

私はリストビューで作業しています。そのリストビューにテキストビューとボタンを追加しました。どのボタンがクリックされたかを知る方法.そのボタンをクリックすると、関連するテキストを取得する必要がありますか?

誰でも私を助けることができますか?

4

2 に答える 2

1

以下のサンプルコードを参照してください...あなたはこれからアイデアを得ます..

ここで list_v はリストビューです

list_v.setAdapter(new ListViewAdapter_test(
                                this));

public class ListViewAdapter_test extends BaseAdapter {

        private LayoutInflater mInflater;

        public ListViewAdapter_test(Context con) {
            // TODO Auto-generated constructor stub
            mInflater = LayoutInflater.from(con);
        }

        public int getCount() {
            // TODO Auto-generated method stub
            return a_product_id.size();
        }

        public Object getItem(int position) {
            // TODO Auto-generated method stub

            return position;
        }

        public long getItemId(int position) {
            // TODO Auto-generated method stub

            return position;
        }

        public View getView(final int position, View convertView,
                ViewGroup parent) {
            // TODO Auto-generated method stub
            final ListContent holder;
            View v = convertView;
            if (v == null) {
                v = mInflater.inflate(R.layout.scan_row1, null);
                holder = new ListContent();

                holder.name = (TextView) v.findViewById(R.id.sc_textname);


                holder.total_rate = (Button) v.findViewById(R.id.button1);

                v.setTag(holder);
            } else {

                holder = (ListContent) v.getTag();
            }

            holder.name.setId(position);

            holder.total_rate.setId(position);

            holder.total_rate.setOnClickListener(mOnTitleClickListener3);

            try {

                holder.name.setText("" + a_product_name.get(position));

                holder.total_rate.setText("Read " + a_totreviews.get(position)
                        + " reviews");

            } catch (Exception e) {
                // TODO: handle exception

            }

            return v;
        }
    }

    static class ListContent {



        TextView name;

        Button total_rate;

    }

public OnClickListener mOnTitleClickListener3 = new OnClickListener() {
        public void onClick(View v) {
            final int position = list_v
                    .getPositionForView((View) v.getParent());

            /** do your code here whatever you want */

        }
    };
于 2012-07-06T08:21:13.833 に答える
0

リスト項目のクリックを使用せずにボタンを追加したい場合は、セルを作成してボタンを追加するときに、button.setTag(int) を使用してタグを設定できます。セルの位置。したがって、ボタンのクリック リスナーでは、button.getTag() でクリックされたボタンの位置を取得できます。テキスト行が内部にあるデータ構造がある場合は、テキストを取得できます。

于 2012-07-06T08:02:13.047 に答える