【发布时间】:2020-10-25 21:49:01
【问题描述】:
/*****here the Adapter of my list *****/
class CurrencyMenuAdapter(
var viewModel : MainViewModel,
var currencyList: ObservableList<CurrencyRoomItem>) : ObservableRecyclerViewAdapter<CurrencyRoomItem, BaseViewHolder<CurrencyRoomItem>>(currencyList){
private val TAG = "CurrencyMenuAdapter"
private val model = MainViewModel()
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BaseViewHolder<CurrencyRoomItem> {
Log.e(TAG, "onCreateViewHolder: 1")
return Holder(
ItemcurrencymenuBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
)
}
override fun onBindViewHolder(
holder: BaseViewHolder<CurrencyRoomItem>,
position: Int
) {
Log.e(TAG, "onCreateViewHolder: 1")
holder.bind(currencyList[position])
}
inner class Holder(private val binding:ItemcurrencymenuBinding) :
BaseViewHolder<CurrencyRoomItem>(binding.root) {
override fun bind(item: CurrencyRoomItem) {
binding.item = item
binding.btnCurrency.setOnClickListener{
viewModel.goToRoom(item.id!!)
Paper.book().write(Const.SAVE_ID, item.id)
}
}
}
} / / / >/ /************************************************* ************************************************/
/这里是 ViewModel/
类 MainViewModel:BaseViewModel() {
var firstName = ObservableField<String>()
var lastName = ObservableField<String>()
var userEmail = ObservableField<String>()
var phoneNumber = ObservableField<String>()
var listRoom= ObservableArrayList<CurrencyRoomItem>()
lateinit var id :String
private var useCase = GetCurrenciesMenuUseCase()
init {
}
fun goToRoom(groupId:String){
getNavigator()!!.town(groupId)
}
/ViewModel/
/*****这里是Activity*****/
类 MainActivity : BaseActivity(), MainNavigator {
private lateinit var model: MainViewModel
private lateinit var alertDialog: AlertDialog
var dialog: Dialog? = null
override fun hideLogoutDialog() {
alertDialog.dismiss()
}
var loginResponse = ObservableField<LoginResponse>()
override fun town(groupId: String) {
startActivity(Intent(this@MainActivity, CurrencyRoomActivity::class.java))
finish()
}
/活动/
/这里是 BaseViewModel/
abstract class BaseViewModel<N> : ViewModel() {
private var mCompositeDisposable: CompositeDisposable = CompositeDisposable();
private lateinit var mNavigator: WeakReference<N>
fun getNavigator(): N? {
return mNavigator?.get()
}
fun setNavigator(navigator: N) {
this.mNavigator = WeakReference(navigator)
}
override fun onCleared() {
mCompositeDisposable.dispose()
super.onCleared()
}
fun getCompositeDisposable(): CompositeDisposable {
return mCompositeDisposable
}
}
/BaseViewModel/
/错误/
//这里的错误 Error
/错误/
【问题讨论】:
-
你能对你的代码试图做什么做一些解释吗?您也可以在问题中分享错误消息而不仅仅是链接
标签: java android android-layout kotlin mvvm