Android 用于更改文本的数据绑定onClick函数
当我使用数据绑定单击按钮时,我试图更改按钮文本 这是按钮XMLAndroid 用于更改文本的数据绑定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:
<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
}
}