Skip to content

Instantly share code, notes, and snippets.

View theerasan's full-sized avatar

Theerasan Tonthongkam theerasan

View GitHub Profile
private var emailField: AutoCompleteTextView? = null
private var passwordField: EditText? = null
private var signInButton: Button? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
emailField = findViewById(R.id.email) as AutoCompleteTextView
passwordField = findViewById(R.id.password) as EditText
<AutoCompleteTextView
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:maxLines="1" />
<EditText
android:id="@+id/password"
class LoginDataBindingViewModel : BaseObservable() {
@get:Bindable
var email: String? = ""
set(email) {
field = email
notifyPropertyChanged(BR.email)
notifyPropertyChanged(BR.readyToLogin)
}
@get:Bindable
<data>
<variable
name="viewModel"
type="ta.com.workshop1.feature._2_databinding.LoginDataBindingViewModel"/>
</data>
<AutoCompleteTextView
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
class LoginWithBindingPresenter(var viewModel: LoginDataBindingViewModel?,
var view: LoginWithBindingInf.ViewInf)
: LoginWithBindingInf.PresenterInf {
override fun onInit() {
viewModel?.onClickLogin = View.OnClickListener { _ ->
view.performLogin(viewModel?.email + " " + viewModel?.password)
viewModel?.email = ""
viewModel?.password = ""
}
}
class LoginWithBindingActivity : AppCompatActivity(), LoginWithBindingInf.ViewInf {
var binding: ActivityLoginWithBindingBinding? = null
var viewModel: LoginDataBindingViewModel? = null
var presenter: LoginWithBindingInf.PresenterInf? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initView()
initViewModel()
class LoginArchViewModel : ViewModel() {
var email: ObservableField<String>? = ObservableField("")
var password: ObservableField<String>? = ObservableField("")
var onClickLogin: ObservableField<View.OnClickListener>? = ObservableField()
var readyToLogin: ObservableField<Boolean>? = ObservableField(false)
}
<AutoCompleteTextView
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:text="@{viewModel.email}"
android:maxLines="1" />
<EditText
override fun onInit() {
viewModel?.readyToLogin?.set(false)
viewModel?.onClickLogin?.set(View.OnClickListener { _ ->
view.performLogin(viewModel?.email?.get() + " " + viewModel?.password?.get())
viewModel?.email?.set("")
viewModel?.password?.set("")
})
}
override fun setReadyToClick(isReady: Boolean) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initView()
initViewModel()
initPresenter()
initEvent()
}
.
.
.