NavigationItemSelectedListener在使用多个接口时未调用

时间:2019-04-07 09:16:35

标签: android kotlin

我的主要活动中有一个导航抽屉,并且在该类中实现了2个额外的接口。当我尝试实现第三个时,我的OnNavigationItemSelectedListener没有被调用。

下面是我的代码

class MainActivity : AppCompatActivity(),

NavigationView.OnNavigationItemSelectedListener,
ProjectListSelectionListener, IProgressViewLoader
{

  private var selectProjectData: ProjectDetails? = null
  private lateinit var progressView: View

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    setSupportActionBar(toolbar)

    val toggle = ActionBarDrawerToggle(
        this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close
    )
    drawer_layout.addDrawerListener(toggle)
    toggle.syncState()

    nav_view.setNavigationItemSelectedListener(this)
    setNavMenus()

    changeMainView(-1)
  }
}

这是我设置片段监听器的地方

override fun onNavigationItemSelected(item: MenuItem): Boolean {
        fragment = ProjectListFragment().apply {
                selectionListener = this@MainActivity
                progressLoader = this@MainActivity
         }
        drawer_layout.closeDrawer(GravityCompat.START)
        return true
    }

如果我删除此行progressLoader = this@MainActivity,它将起作用。另外,如果我删除了IProgressLoader,那么它也可以工作。我在这里做什么错了?

0 个答案:

没有答案