在Android中, RadioGroup用于设置单选按钮。如果在RadioGroup中选择了一个单选按钮,则会自动取消选择所有其他单选按钮。
在本文中,我们将讨论如何以编程方式在Kotlin中创建RadioGroup。
让我们首先在Android Studio中创建一个项目。为此,请按照以下说明进行操作:
- 单击文件,然后依次单击新建和新建项目,并根据需要命名
- 然后,选择Kotlin语言支持,然后单击下一步按钮。
- 选择最低的SDK,无论您需要什么
- 选择清空活动,然后单击完成。
之后,我们需要设计布局。为此,我们需要使用XML文件。转到应用>资源>布局,然后粘贴以下代码:
修改activity_main.xml文件
MainActivity.kt
下一步是对我们的RadioGroup进行编码。打开app / src / main / Java/yourPackageName/MainActivity.kt并粘贴以下代码:
package com.geeksforgeeks.myfirstKotlinapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.RadioButton
import android.widget.RadioGroup
import android.widget.RelativeLayout
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val layout = findViewById(R.id.layout)
// Create RadioButton Dynamically
val geek1 = RadioButton(this)
//setting height and width
geek1.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
geek1.setText(R.string.java) //setting text of first radio button
geek1.id = 0
val geek2 = RadioButton(this)
geek2.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
geek2.setText(R.string.python) ////setting text of second radio button
geek2.id = 1
// Create RadioGroup Dynamically
val radioGroup = RadioGroup(this)
val params = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
params.setMargins(40, 0, 0, 0)
radioGroup.layoutParams = params
//adding button to the radio group container
radioGroup.addView(geek1)
radioGroup.addView(geek2)
layout.addView(radioGroup)
radioGroup.setOnCheckedChangeListener { group, checkedId ->
var text = getString(R.string.Chose)
text += " " + getString(if (checkedId == 0) {
R.string.java
} else {
R.string.python
})
Toast.makeText(applicationContext, text, Toast.LENGTH_SHORT).show()
}
}
}
上面的代码仍然会产生一些错误,因为我们使用了一些在另一个文件中声明的字符串来解决这些问题,因此将以下代码片段添加到app / res / values / 字符串.xml中
My Application
Java
Python
You selected:
AndroidManifest.xml
作为仿真器运行:
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!