Android单选按钮是双向状态按钮,可以选中或取消选中。另外,它的工作方式与Checkbox相同,除了单选按钮一旦被选中就不允许取消选中。
通常,我们使用RadioButton控件允许用户从多个选项中选择一个选项。
默认情况下,RadioButton处于OFF(Unchecked)状态,但是我们可以使用android:checked属性更改RadioButton的默认状态。
为了创建一个单选按钮,首先我们需要创建一个项目。我们将其命名为DynamicRadioButton
- 单击文件,然后单击新建=>新建项目
- 然后,选中“包括Kotlin支持”,然后单击“下一步”按钮。
- 选择最低的SDK,无论您需要什么。
- 选择清空活动,然后单击完成。
修改activity_main.xml文件
首先,在Linearlayout中定义RadioGroup并访问Kotlin文件。
上面的代码仍然会产生一些错误,要解决这些错误,请在app / res / values / 字符串.xml中添加以下代码段
DynamicRadioButton
Black
White
Blue
You selected:
MainActivity.kt文件
在这里,我们为颜色定义了三个单选按钮并设置了它们的属性。
val radioButton1 = RadioButton(this)
然后,使用以下代码将它们用于RadioGroup:
radioGroup.addView(radioButton1)
radioGroup.addView(radioButton2)
radioGroup.addView(radioButton3)
package com.geeksforgeeks.myfirstkotlinapp
import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.RadioButton
import android.widget.RadioGroup
import android.widget.Toast
class MainActivity : AppCompatActivity() {
@SuppressLint("ResourceType")
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val linearLayout = findViewById(R.id.container)
// Create RadioButton programmatically
val radioButton1 = RadioButton(this)
radioButton1.layoutParams= LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
radioButton1.setText("Black")
radioButton1.id = 1
val radioButton2 = RadioButton(this)
radioButton2.layoutParams = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
radioButton2.setText("White")
radioButton2.id = 2
val radioButton3 = RadioButton(this)
radioButton3.layoutParams = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
radioButton3.setText("Blue")
radioButton3.id = 3
val radioGroup = findViewById(R.id.radioGroup)
if (radioGroup != null)
{
radioGroup.addView(radioButton1)
radioGroup.addView(radioButton2)
radioGroup.addView(radioButton3)
radioGroup.setOnCheckedChangeListener { group, checkedId ->
var string = getString(R.string.you_selected)
string += " " + getString(
if (checkedId == 1) R.string.black
else if(checkedId == 2 ) R.string.white
else R.string.blue )
Toast.makeText(applicationContext, string, Toast.LENGTH_SHORT).show()
}
}
}
}
AndroidManifest.xml文件
作为仿真器运行以输出:
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!