简体   繁体   English

TexView onClickListener 在基于 Kotlin 的活动中不起作用

[英]TexView onClickListener not working from Kotlin based activity

I recently switched to kotlin, and created an activity and added few views in it, but the click listener on my TextView is not working.我最近切换到 kotlin,并创建了一个活动并在其中添加了一些视图,但是我的TextView上的点击监听器不起作用。

Following is my xml file.以下是我的 xml 文件。

    <TextView
        android:id="@+id/tvHomeSignIn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="16dp"
        android:background="@drawable/signin_curve_allside"
        android:paddingLeft="8dp"
        android:paddingTop="4dp"
        android:paddingRight="8dp"
        android:paddingBottom="4dp"
        android:text="SIGN IN"
        android:textAllCaps="true"
        android:textColor="@color/white"
        android:textSize="12dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/imageView21"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="@+id/imageView21"
        app:layout_constraintVertical_bias="0.173" />

MainActivity.kt MainActivity.kt

class HomeActivityV2 : AppCompatActivity{ 

 lateinit var tvSignIn: TextView
 lateinit var  ivHomeTeam:ImageView
 lateinit var  ivAwayTeam:ImageView


  override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home_v2)



         tvSignIn= findViewById(R.id.tvHomeSignIn)
         tvSignIn.setOnClickListener(clickListener)

   }


       val clickListener = View.OnClickListener {view ->

           when (view.getId()) {
            R.id.tvHomeSignIn -> launchSignInActivity()
        }
    }


 }

Add the extensions plugin to your build.gradle file so that you don't need to use findViewById anymore.将扩展插件添加到您的 build.gradle 文件中,以便您不再需要使用 findViewById。

apply plugin: 'kotlin-android-extensions'

Then you should be able to add a click listener like so:然后你应该能够像这样添加一个点击监听器:

tvSignIn.setOnClickListener { view ->
    launchSignInActivity()
}

You just need to do something like this ->你只需要做这样的事情->

class HomeActivityV2 : AppCompatActivity(), View.OnClickListener{ 

 lateinit var tvSignIn: TextView
 lateinit var ivHomeTeam:ImageView
 lateinit var ivAwayTeam:ImageView


  override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home_v2)

        tvSignIn= findViewById(R.id.tvHomeSignIn)
        tvSignIn.setOnClickListener(clickListener)

   }

  override fun onClick(view: View) {
        when (view.id) {
             R.id.tvHomeSignIn ->launchSignInActivity()
        }
   }

   private fun launchSignInActivity(){
       ///Your intent method over here.
   }
 }

Its just same as java but a little different.它与 java 相同,但略有不同。 Check it and let me know about it.检查并让我知道。 Thank you.谢谢你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从另一个工作活动复制的onClickListener不工作 - onClickListener not working that was copied from another working activity Onclicklistener从活动返回片段无效 - Onclicklistener Return To Fragment From Activity Not Working 从OnClickListener重新加载或刷新活动不起作用 - Reload or Refresh Activity from OnClickListener not working 按钮上的 Kotlin onClickListener 不起作用 - Kotlin onClickListener on button not working setText()在另一个Activity的onClickListener上不起作用 - setText() not working from another Activity's onClickListener onClickListener 在我的活动中不起作用 - onClickListener not working in my activity CardViews 上的 OnClickListener 无法正常工作 Kotlin - OnClickListener on cardViews not working properly Kotlin 使用 onclicklistener 的应用程序崩溃,其中 onclick 正在工作 || 导航抽屉活动 || Kotlin - App crashing using onclicklistener , where as onclick is working || Navigation Drawer Activity || Kotlin 从其他活动返回后,OnClickListener停止工作 - OnClickListener stops working after returning from another activity 如何在第二个活动的Texview中显示Mainactivity中的变量 - How to Display a variable from Mainactivity in a second Activity's Texview
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM