Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于更改文本的数据绑定onClick函数_Android_Kotlin_Onclicklistener_Android Databinding_Settext - Fatal编程技术网

Android 用于更改文本的数据绑定onClick函数

Android 用于更改文本的数据绑定onClick函数,android,kotlin,onclicklistener,android-databinding,settext,Android,Kotlin,Onclicklistener,Android Databinding,Settext,当我使用数据绑定单击按钮时,我试图更改按钮文本 这是按钮XML <Button android:id="@+id/TimeBtn" android:layout_width="246dp" android:layout_height="100dp" android:layout_marginStart="8dp" android:

当我使用数据绑定单击按钮时,我试图更改按钮文本

这是按钮XML

 <Button
        android:id="@+id/TimeBtn"
        android:layout_width="246dp"
        android:layout_height="100dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="44dp"
        android:layout_marginEnd="8dp"
        android:onClick="@{() ->  activityTrackerViewModel.startStopTracking()}"
        android:text="@string/startWork"
       .... />
但是我想不出怎样才能修改文本

这是ActivityFragment:

    class ActivityTrackerFragment : Fragment() {
 

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

        val binding: FragmentActivityTrackerBinding = DataBindingUtil.inflate(
                inflater, R.layout.fragment_activity_tracker, container, false)

        val application = requireNotNull(this.activity).application
       
        val dataSource = ActivityDatabase.getInstance(application).activityDatabaseDao
        val viewModelFactory = ActivityTrackerViewModelFactory(dataSource, application)
     


        val activityTrackerViewModel =
                ViewModelProvider(
                        this, viewModelFactory).get(ActivityTrackerViewModel::class.java)

     
        binding.activityTrackerViewModel = activityTrackerViewModel


        //here I'm trying to use ClickListner
        binding.TimeBtn.setOnClickListener {
        binding.TimeBtn.setText(R.string.stopWork)
    }
        binding.lifecycleOwner = this

        return binding.root
    }
}
    class ActivityTrackerFragment : Fragment() {
 

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

        val binding: FragmentActivityTrackerBinding = DataBindingUtil.inflate(
                inflater, R.layout.fragment_activity_tracker, container, false)

        val application = requireNotNull(this.activity).application
       
        val dataSource = ActivityDatabase.getInstance(application).activityDatabaseDao
        val viewModelFactory = ActivityTrackerViewModelFactory(dataSource, application)
     


        val activityTrackerViewModel =
                ViewModelProvider(
                        this, viewModelFactory).get(ActivityTrackerViewModel::class.java)

     
        binding.activityTrackerViewModel = activityTrackerViewModel


        //here I'm trying to use ClickListner
        binding.TimeBtn.setOnClickListener {
        binding.TimeBtn.setText(R.string.stopWork)
    }
        binding.lifecycleOwner = this

        return binding.root
    }
}