0

私の ListView には 10 行あり、各行には aTextViewと aがありButtonます。をクリックするたびに、行内の各行をトラバースして、そのドローアブルを確認しButtonたいと考えています。Button問題は、クリックしたビュー以外はすべて null を返すことです。どうすればこれを達成できるかについて誰かが考えましたか? 以下のコード スニペットを確認してください。

public View getView(int position, View view, ViewGroup parent) {
    convertView = inflater.inflate(R.layout.customlayout, null);

    TextView textview = (TextView) view.findViewById(R.id.textview);
    Button button = (Button) view.findViewById(R.id.button);

    ListView listParent = (ListView) parent;

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            for(int ctr=0; ctr<listParent.getCount(); ctr++) {
                //traverse to all the buttons in list here
            }

        }
    });

    return view;
}
4

1 に答える 1

0

はい、onclickリスナーをid = buttonの1つのボタンにのみ設定します。そのため、すべてのボタンを同じ名前で呼び出しても、1 つのボタンに対してのみ機能します。すべてのボタンを button1 button2 button3...button10 として識別することをお勧めします。for(){} を使用して、すべてのボタンの onclick リスナーを設定することもできます。

于 2012-08-01T08:41:25.827 に答える