3.1.5 RadioButton控件
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
默认的:activity_main.xml
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
默认的:MainActivity.java
具体的操作如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
请把上面的结构改成线性布局
然后有二个radiobutton控件
一个是男,一个是女
第二次提示词:增加监听事件,当选择男,在下方用一句话展示:您的性别是:男,当选择女,在下方用同一句话展示:您的性别是:女
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<!-- 提示文本 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择性别"
android:textSize="18sp"
android:padding="8dp" />
<!-- RadioGroup -->
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp">
<!-- RadioButton 1 -->
<RadioButton
android:id="@+id/radio_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:layout_marginEnd="16dp" />
<!-- RadioButton 2 -->
<RadioButton
android:id="@+id/radio_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
<!-- 显示结果的 TextView -->
<TextView
android:id="@+id/text_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的性别是:"
android:textSize="16sp"
android:padding="8dp" />
</LinearLayout>
package com.example.myapplication;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
RadioGroup radioGroup = findViewById(R.id.radio_group);
TextView textResult = findViewById(R.id.text_result);
// 设置 RadioGroup 的监听事件
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 根据选中的 RadioButton 更新 TextView 的内容
if (checkedId == R.id.radio_male) {
textResult.setText("您的性别是:男");
} else if (checkedId == R.id.radio_female) {
textResult.setText("您的性别是:女");
}
}
});
}
}
第三次提示词:出现报错:RadioGroup radioGroup = findViewById(R.id.radio_group); TextView textResult = findViewById(R.id.text_result); Cannot resolve symbol 'radio_group' (出现以下的错误)
再次修正后的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<!-- 提示文本 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择性别"
android:textSize="18sp"
android:padding="8dp" />
<!-- RadioGroup -->
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp">
<!-- RadioButton 1 -->
<RadioButton
android:id="@+id/radio_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:layout_marginEnd="16dp" />
<!-- RadioButton 2 -->
<RadioButton
android:id="@+id/radio_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
<!-- 显示结果的 TextView -->
<TextView
android:id="@+id/text_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的性别是:"
android:textSize="16sp"
android:padding="8dp" />
</LinearLayout>
package com.example.myapplication;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // 确保布局文件名正确
// 初始化控件
RadioGroup radioGroup = findViewById(R.id.radio_group); // 确保 ID 正确
final TextView textResult = findViewById(R.id.text_result); // 确保 ID 正确
// 设置 RadioGroup 的监听事件
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 根据选中的 RadioButton 更新 TextView 的内容
if (checkedId == R.id.radio_male) {
textResult.setText("您的性别是:男");
} else if (checkedId == R.id.radio_female) {
textResult.setText("您的性别是:女");
}
}
});
}
}



浙公网安备 33010602011771号