Ani*_*wal 74 android listener kotlin
我想知道我们如何在Kotlin for Android Development中设置基本的onClickListener.
Nai*_*lah 86
有五种使用 SetOnClickListener 的方法:
第一的:
button.setOnClickListener {
// Do some work here
}
Run Code Online (Sandbox Code Playgroud)
第二:
button.setOnClickListener(object : View.OnClickListener {
override fun onClick(view: View?) {
// Do some work here
}
})
Run Code Online (Sandbox Code Playgroud)
第三:
button.setOnClickListener(View.OnClickListener { view ->
// Do some work here
})
Run Code Online (Sandbox Code Playgroud)
向前:
class MainActivity : AppCompatActivity(), View.OnClickListener{
lateinit var button : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button = findViewById(R.id.button1)
button.setOnClickListener(this)
}
override fun onClick(view: View?) {
when(view?.id){
R.id.button1->{
// do some work here
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
第五:
class MainActivity : AppCompatActivity(){
lateinit var button : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button = findViewById(R.id.button1)
button.setOnClickListener(listener)
}
val listener= View.OnClickListener { view ->
when (view.getId()) {
R.id.button1 -> {
// Do some work here
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
干杯!
Vin*_*tti 50
假设您有要单击的textView
text_view.text = "Hello Kotlin";
text_view.setOnClickListener {
val intent = Intent(this@MainActivity, SecondActivity::class.java)
intent.putExtra("key", "Kotlin")
startActivity(intent)
}
Run Code Online (Sandbox Code Playgroud)
Aka*_*tel 35
使用以下代码
val textview = findViewById<TextView>(R.id.textview)
textview.setOnClickListener(clickListener)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener(clickListener)
Run Code Online (Sandbox Code Playgroud)
clickListener代码.
val clickListener = View.OnClickListener {view ->
when (view.getId()) {
R.id.textview -> firstFun()
R.id.button -> secondFun()
}
}
Run Code Online (Sandbox Code Playgroud)
Alf*_*Moh 21
这是一个关于如何在Kotlin中使用onClickListener的示例
button1.setOnClickListener(object : View.OnClickListener{
override fun onClick(v: View?) {
//Your code here
}})
Run Code Online (Sandbox Code Playgroud)
Ron*_*kar 18
方法1:
txtNext.setOnClickListener {
val intent = Intent(applicationContext, SecondActivity::class.java)
startActivity(intent)
}
Run Code Online (Sandbox Code Playgroud)
方法2:
class FirstActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_first)
txtNext.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.txtNext -> {
val intent = Intent(applicationContext, SecondActivity::class.java)
startActivity(intent)
}
else -> {
// else condition
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Luv*_*nga 10
使用多个ID:
textview1.setOnClickListener(clickListener)
textview2.setOnClickListener(clickListener)
Run Code Online (Sandbox Code Playgroud)
创建匿名类:
private val clickListener: View.OnClickListener = View.OnClickListener { view ->
when (view.id) {
R.id.textview1-> {
Toast.makeText(this, "Clicked 1", Toast.LENGTH_SHORT).show()
}
R.id.textview2-> {
Toast.makeText(this, "Clicked 2", Toast.LENGTH_SHORT).show()
}
}
}
Run Code Online (Sandbox Code Playgroud)
首先,您必须获取对View的引用(例如Button,TextView等),并使用setOnClickListener()方法将OnClickListener设置为引用
// get reference to button
val btn_click_me = findViewById(R.id.btn_click_me) as Button
// set on-click listener
btn_click_me.setOnClickListener {
Toast.makeText(this@MainActivity, "You clicked me.", Toast.LENGTH_SHORT).show()
}
Run Code Online (Sandbox Code Playgroud)
请参阅Kotlin SetOnClickListener示例,以获取完整的Kotlin Android示例,其中活动中存在按钮,并且OnclickListener应用于该按钮。当您单击按钮时,将执行SetOnClickListener块中的代码。
更新资料
现在,您可以通过在类文件中包含以下导入语句,直接使用其ID引用按钮。文件资料。
import kotlinx.android.synthetic.main.activity_main.*
Run Code Online (Sandbox Code Playgroud)
然后点击按钮
btn_click_me.setOnClickListener {
// statements to run when button is clicked
}
Run Code Online (Sandbox Code Playgroud)
请参阅Android Studio教程。
小智 5
使用此代码添加onClickListenerKotlin
val button : Button = getView()?.findViewById<Button>(R.id.testButton) as Button
button.setOnClickListener {view ->
Toast.makeText(context, "Write your message here", Toast.LENGTH_LONG).show()
}
}
Run Code Online (Sandbox Code Playgroud)
只需在Kotlin中获取OnClickListener
view1.setOnClickListener{
//body
}
Run Code Online (Sandbox Code Playgroud)
小智 5
var tv = findViewById(R.id.tv) 作为文本视图
tv.setOnClickListener {
val i = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(i)
finish()
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到了很多建议,但是这个集合缺少以下内容。
button.setOnClickListener(::onButtonClicked)
Run Code Online (Sandbox Code Playgroud)
在当前类中,我们有一个这样的方法:
private fun onButtonClicked(view: View) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72081 次 |
| 最近记录: |