我想知道我们如何在Kotlin中为Android开发设置基本的onClickListener。Android - 如何在Kotlin中实现setOnClickListener?
16
A
回答
10
使用下面的代码
val textview = findViewById<TextView>(R.id.textview)
textview.setOnClickListener(clickListener)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener(clickListener)
clickListener代码。
val clickListener = View.OnClickListener {view ->
when (view.getId()) {
R.id.textview -> firstFun()
R.id.button -> secondFun()
}
}
1
你使用像onclickListener在科特林
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
...
}
13
假设你的TextView点击
text_view.text = "Hello Kotlin";
text_view.setOnClickListener {
val intent = Intent([email protected], SecondActivity::class.java)
intent.putExtra("key", "Kotlin")
startActivity(intent)
}
5
这里是如何在科特林
button1.setOnClickListener(object : View.OnClickListener{
override fun onClick(v: View?) {
//Your code here
}
使用onClickListener为例
0
对于使用多PLE IDS:
textview1.setOnClickListener(clickListener)
textview2.setOnClickListener(clickListener)
创建匿名类:
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.iv_circle_nighttime -> {
Toast.makeText(this, "Clicked 2", Toast.LENGTH_SHORT).show()
}
}
}
1
首先,你必须得到参考视图(说巴顿,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([email protected], "You clicked me.", Toast.LENGTH_SHORT).show()
}
参见Kotlin SetOnClickListener Example完整科特林Android示例,其中一个按钮存在的活性和OnclickListener被施加到按钮。当你点击按钮时,SetOnClickListener块内的代码被执行。
4
使用此代码在科特林添加onClickListener
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()
}
}
0
先找到按钮,防止铸件从View
可以使用<>
如下:
val button = findViewById<Button>(R.id.button);
一旦你有一个Button
的实例,您现在可以附加点击监听器,如下所示:
button.setOnClickListener {
// You code here
}
1
有几种不同的方法可以实现这一点,正如这个问题的各种答案所示。
到听者真正分配给视图,你用同样的方法,你在Java中会:
button.setOnClickListener()
然而,科特林可以很容易地拉姆达分配为听众:
button.onSetClickListener {
// Listener code
}
或者,如果要使用该侦听多个视图,考虑lambda表达式(分配给一个变量/值对参考拉姆达):
val buttonClickListener = View.OnClickListener { view ->
// Listener code
}
button.setOnClickListener(buttonClickListener)
another_button.setOnClickListener(buttonClickListener)
0
val saveButton:Button = findViewById(R.id.button_save)
saveButton.setOnClickListener{
// write code for click event
}
with view object
saveButton.setOnClickListener{
view -> // write code for click event
}
0
方法1:
txtNext.setOnClickListener {
val intent = Intent(applicationContext, SecondActivity::class.java)
startActivity(intent)
}
方法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
}
}
}
}
0
,我知道做到这一点是通过科特林的Android扩展的最简单方法。
在您的应用程序/的build.gradle
apply plugin: 'kotlin-android-extensions'
如果你的按钮被称为 'btnAdd',然后在你的片段或活性导入以下内容:
import kotlinx.android.synthetic.main.fragment_transactions.btnAdd
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
btnAdd.setOnClickListener {
Toast.makeText(context , "Done", 10).show()
}
}
相关问题
- 1. Kotlin setOnclickListener
- 2. 如何在Kotlin中实现Memento模式
- 3. 如何在kotlin中实现finalize()?
- 4. Kotlin - 如何为RecyclerVIew实现ItemClickListener
- 5. 在Kotlin中使用TypeAdapter实现TypeAdapterFactory
- 6. 自动实现方法Kotlin Android
- 7. SQLite在Kotlin和Anko中的实现
- 8. 在Kotlin中实现链接列表
- 9. 如何实现setOnClickListener从动态创建的RadioButton中获取选定的值Android
- 10. 如何在Kotlin中实现TornadoFX WebEngine回调
- 11. 如何在Kotlin中实现Interface的通用功能?
- 12. HashMap如何在Kotlin中实现MutableMap接口?
- 13. 如何在Kotlin中通过动态编程实现纯函数?
- 14. 如何在Kotlin中实现一个java SAM接口?
- 15. 实施setOnClickListener
- 16. android - setOnClickListener;
- 17. 如何实现CalenderView Android中
- 18. 如何实现在Android
- 19. 如何在kotlin的customadpter项目上实现clicklistener?
- 20. edittext setOnclicklistener android
- 21. Android EditText setOnClickListener
- 22. Android - Imageview和setOnClickListener
- 23. Android setOnClickListener错误
- 24. android eclipse setOnClickListener
- 25. 如何在Android中实现webhook?
- 26. 我如何在android中实现SlideShow?
- 27. 如何在Android中正确实现progressBar?
- 28. 如何在android中实现facebook集成?
- 29. 如何在iOS中实现Android的getViewById?
- 30. 如何在android中实现拖放?
很有帮助!与其他答案相比看起来很容易 – Chip