我如何在带有 Viewpager 和片段占位符的选项卡 Activity 中使用 OnClickListener

How do I us OnClickListener in a Tabbed Activity with Viewpager and Fragment Placeholder

我正在尝试让按钮在单击时正常工作。对于基本示例,我使用的是计时器。使用 Android Studio 3.4.2,我可以在 Main Activity 的 Basic Activity 项目中使用此代码,并且工作正常。当我将相同的代码放入片段、片段页夹或主 activity 中时,使用 Tabbed Activity 对我的 Tabbed Activity.

不起作用

基本 Activity Activity

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu
import android.view.MenuItem
import android.view.View
import kotlinx.android.synthetic.main.activity_main.*
mport kotlinx.android.synthetic.main.content_main.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    setSupportActionBar(toolbar)

    val chronometer = chronometer
    val btnstart = (Button)rootView.findViewById(R.id.btnstart);
    btnstart.setOnClickListener(object : View.OnClickListener {

        override fun onClick(v: View) {
            chronometer.start()

        }
    })

}

Tabbed的片段Activity(无论我放在哪里,它都不起作用)

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {

// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_retention, container, false)

}

这是我不断收到的调试错误:

PID:5241 java.lang.NullPointerException: 尝试在空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' }

这里的建议似乎也没有给我任何积极的结果 onClickListener doesnt work in Tabbed Activity Android

成功了。谢谢你。我把它放在 inflater 下的片段中:

    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_bph, container, false)} 

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    val chronometer = chronometer
    btnstart.setOnClickListener(object : View.OnClickListener {

        override fun onClick(v: View) {
            chronometer.start()