Отобразить значение onBindViewHolder в Kotlin Main Class - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь получить значение переменной onBindViewHolder в основном классе, но я не уверен, как вызвать эту переменную.Любая помощь приветствуется.

override fun onBindViewHolder(p0: TestDetailMenuViewHolder, p1: Int) {
    val Testmenudetail = TestMenudetails.get(p1)
    p0?.customView?.itemname.text = Testmenudetail.price.toString()

    var menuname: String = Testmenudetail.menu
    var itemprice: String = Testmenudetail.price.toString()
    //Let's say itemprice=50
}
class TestMenuDetail() : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        var Test1 = itemprice //???
    }
}

1 Ответ

0 голосов
/ 29 октября 2018

Попробуйте сделать это:

class Adapter : RecyclerView.Adapter<Holder> {
  var itemprice = 0 

  override fun onBindViewHolder(p0: TestDetailMenuViewHolder, p1: Int) {
    val Testmenudetail = TestMenudetails.get(p1)
    p0?.customView?.itemname.text = Testmenudetail.price.toString()

    var menuname: String = Testmenudetail.menu
    var itemprice: String = Testmenudetail.price.toString()
    itemprice=50
  }
}

А потом:

class TestMenuDetail() : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    var itemprice = Adapter().itemprice
  }
}

Но я не понимаю, зачем вам нужна переменная из вашего адаптера.Вы должны знать, что метод onBindViewHolder вызывается часто, и значение itemprice изменится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...