在从 Web 服务获得响应时,我想使用 ViewModel 和 dataBinding 显示/隐藏进度条。目前,我在直接从我的布局 XML 绑定的 ViewModel 中有一个函数 loginOnClicked。
我想创建一个进度条并在函数 loginOnClicked 中实现它并基于它更新可见性。有人可以帮我吗?
登录活动
class loginActivity : AppCompatActivity(),SignupResultCallBack {
override fun onSucces(message: String) {
Toast.makeText(this,message, Toast.LENGTH_SHORT)
.show()
}
override fun onError(message: String) {
Toast.makeText(this,message, Toast.LENGTH_SHORT)
.show()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// setContentView(R.layout.activity_login)
val activityLoginBinding=DataBindingUtil.setContentView<ActivityLoginBinding(this,R.layout.activity_login)
activityLoginBinding.viewModel=of(this,LoginViewModelFactory(this)).get(LoginViewModel::class.java)
link_signup.setOnClickListener() {
var intent=Intent(this@loginActivity,signupActivity::class.java)
startActivity(intent)
finish()
}
var test=activityLoginBinding.viewModel!!.progBar()
if(test)
progressBar?.visibility=View.VISIBLE
else
progressBar?.visibility=View.GONE
}
}
Run Code Online (Sandbox Code Playgroud)
视图模型
class LoginViewModel(private var listener: SignupResultCallBack): ViewModel() {
private val loginUser:UserRequest
init {
this.loginUser= UserRequest("","") …Run Code Online (Sandbox Code Playgroud)