获取RadioButton的text,更换textview的text
xml代码:
<?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:padding="24dp">
<RadioGroup
android:id="@+id/gender_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
<RadioButton
android:id="@+id/radio_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
<TextView
android:id="@+id/result_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择性别"
android:textSize="18sp"
android:layout_marginTop="20dp" />
</LinearLayout>
java代码:
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 {
private RadioGroup genderGroup;
private TextView resultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
genderGroup = findViewById(R.id.gender_group);
resultText = findViewById(R.id.result_text);
genderGroup.setOnCheckedChangeListener((group, checkedId) -> {
RadioButton selected = findViewById(checkedId);
String gender = selected.getText().toString();
resultText.setText("你选择的是:" + gender);
});
}
}
运行结果:
心得:
1、genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
}
});
代码与
2、genderGroup.setOnCheckedChangeListener((group, checkedId) -> {
})
代码虽然作用一样android studio的编译器不会报错,但1的模拟器却运行不了,只能用2
==
android studio版本android-studio-2023.3.1.19-windows出现问题
。
格式化代码:ctrl+alt+L