2

リストビュー (2 つのテキストビューと 1 つのラジオ ボタン) に問題があります。

問題: 私の考えでは、ユーザーがリストビュー内の項目をクリックすると、ラジオ ボタンが自動的にチェックされます。

しばらく探していましたが、ラジオボタンが機能しません。

私のXML

   <RadioButton
        android:id="@+id/rdBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:focusable="false" />

私のアダプター

    r = (RadioButton) convertView.findViewById(R.id.rdBtn);
        r.setChecked(selectedPosition == position);
        r.setTag(position);
        r.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //r.setChecked(true);
                Toast.makeText(context, InformationActivity.result,
                        Toast.LENGTH_SHORT).show();
                selectedPosition = (Integer) view.getTag();
                notifyDataSetInvalidated();

            }
        });
        return convertView;

私は試した

r.setChecked(true);

私のアクティビティクラス内で最初のクリックは機能しましたが、2番目はリストビューで別のアイテムを選択しました.

あなたの何人かが私を助けてくれることを願っています。ありがとう

4

6 に答える 6

2

あなたが達成しようとしていることを理解しているかどうかはわかりませんが、これが役立つでしょうか?

r.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            // radio button is checked
        } else {
            // radio button is not checked
        }
    }
});

編集。

listがあなたであると仮定するとListView、次のことができます。

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView <? > parent, View view, int position, long id) {
        r.setChecked(true); // true to make r checked, false otherwise.
    }
});
于 2014-03-20T13:27:44.377 に答える
0

「convertview」の OnClick リスナーを設定し、radioButton を次のように切り替えます。

 convertview.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           radioButton.toggle()
        }
    });
于 2014-03-20T13:46:19.930 に答える
0

リストsetOnItemClickListenerを設定できます。

于 2014-03-20T13:31:05.687 に答える
-1

リストビュー内でchecktextviewを使用し、checktextviewのタイプをラジオボタンのように設定するか、チェックテキストビューチェックの背景画像を使用してラジオボタンのように見せることができます.

于 2014-03-20T13:27:58.273 に答える