Проблема, перекрывающая onDrawerOpened () - Kotlin - PullRequest
0 голосов
/ 20 июня 2019

Я работаю над приложением с кодировкой Kotlin, используя макет «Навигационный ящик» со списком элементов. Когда я открываю ящик с помощью значка в левом верхнем углу, я хочу, чтобы он уведомил DataSetChanged, чтобы список обновлялся за пределами MainActivity. Это включает нажатие кнопки «Назад», открытие лотка или нажатие на значок с накоплением линий вверху слева

Вот упрощенная версия моего кода, но это, по сути, Навигационный ящик для действий с recyclerView для контекста моего вопроса:

class MainActivity : AppCompatActivity() {
    lateinit var drawerLayout: DrawerLayout
    lateinit var navView: NavigationView
    lateinit var toolbar: Toolbar

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    toolbar = findViewById(R.id.app_bar_toolbar)
    setSupportActionBar(toolbar)

    drawerLayout = findViewById(R.id.drawer_layout)
    navView = nav_view
    val toggle = ActionBarDrawerToggle(this, drawerLayout, toolbar, 
    R.string.navigation_drawer_open, R.string.navigation_drawer_close)

    drawerLayout.addDrawerListener(toggle)
    toggle.syncState()
    }

Я потратил несколько часов, пытаясь сделать все, что мог, но прежде всего я не мог заставить это работать:

override fun onDrawerOpen(view:View){
    ... myAdapter.notifyDataSetChanged()
super.onDrawerOpen(view)
}

он дает мне подсказку «ничего не переопределяет» или «не используется», и если я пытаюсь добавить его в любой из моих кодов в onCreate, он сообщает «Модификатор« переопределить », не применимый к локальной функции.

Что я делаю не так? Есть ли лучший способ сообщить об изменении данных при открытии ящика?

...