Android 如果我按下线性布局,如何触发radioButton进行检查
如果我在其他位置(不是单选按钮)按下单选按钮,但在1线性布局内的图像、文本视图等上按下,如何使单选按钮被选中Android 如果我按下线性布局,如何触发radioButton进行检查,android,android-layout,radio-button,android-linearlayout,Android,Android Layout,Radio Button,Android Linearlayout,如果我在其他位置(不是单选按钮)按下单选按钮,但在1线性布局内的图像、文本视图等上按下,如何使单选按钮被选中 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layo
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/card_balance"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center_vertical"
android:paddingLeft="20dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="10dp"
android:textColor="@color/dc_white" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="right"
android:paddingRight="20dp">
<RadioButton
android:id="@+id/radio_button_payment"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
</RelativeLayout>
现在的情况是我只能按单选按钮
我已经尝试将onClickListener添加到线性布局中,是的,我可以在线性布局上按下单选按钮,但是单选按钮不仅选择1,而且选择全部
此代码用于单击linearLayout
layout_card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
r.setChecked(position == selectedPosition);
r.setTag(position);
if (r.isChecked()) {
r.setChecked(true);
r.setSelected(true);
} else if (!r.isChecked()) {
r.setChecked(false);
r.setSelected(false);
}
}
});
对不起,我的解释不好,任何帮助都非常感谢我。
感谢您在您的getView(…)中,写下
layout_card.setTag(position);
并将click listener更改为
layout_card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedPosition = Integer.parseInt(v.getTag().toString());
notifyDataSetChange();
}
});
如果不需要,请删除以下代码
r.setTag(position);
r.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectedPosition = (Integer) view.getTag();
notifyDataSetChanged();
}
});
在您的getView(…)中,写
layout_card.setTag(position);
并将click listener更改为
layout_card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedPosition = Integer.parseInt(v.getTag().toString());
notifyDataSetChange();
}
});
如果不需要,请删除以下代码
r.setTag(position);
r.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectedPosition = (Integer) view.getTag();
notifyDataSetChanged();
}
});
使用setChecked(true)方法我应该将该方法放在哪里@Hosseinamini你有多少个单选按钮,因为我在你的xml中只看到一个,但在你的解释中,你说所有单选按钮都被选中,而不是一个。这是一个动态单选按钮,我有4个虚拟数据,因此它显示为4个单选按钮或4个线性布局取决于数据@Moulesh@StevenTan我觉得你实施错误可能是你需要recyclerview或列表视图,其中行项目包含单选按钮,因此单击卡上的任意一个可以检查单选按钮使用setChecked(true)方法我应该将该方法放在哪里@Hosseinamini你有多少个单选按钮,因为我在你的xml中只看到一个,但在你的解释中,你说所有单选按钮都被选中,而不是一个。这是一个动态单选按钮,我有4个虚拟数据,因此它显示为4个单选按钮或4个线性布局取决于数据@Moulesh@StevenTan我觉得你执行错误可能是你需要recyclerview或列表视图,其中行项目包含单选按钮,因此单击卡上的任意一个可以选中单选按钮,因此我添加此
layout\u card.setTag(位置)代码>内部getView()和外部监听器?工作没有任何问题..谢谢我添加了这个layout\u card.setTag(位置)代码>在getView()内部和侦听器外部?可以正常工作。谢谢