我想知道我們如何在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