OnNavigationItemSelectedListener不响应

时间:2018-08-18 17:48:30

标签: onclicklistener

我的听众有问题。我已经尝试了所有方法,包括在课堂上实现它,在视图中调用一个新方法。似乎没有任何作用。抽屉的外观和行为均正常,但是无论我单击哪个项目,都不会发生任何事情。 我遵循了获取Navigationview并将其设置为侦听器的标准过程。 请在下面找到代码。感谢您能提供的任何帮助。也许我想念一些东西。

公共类MainActivity扩展了AppCompatActivity {

private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mActionBarDrawerToggle;

NavigationView navigationView;

MemeMainFragment memeMainFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mDrawerLayout = findViewById(R.id.drawer);
    mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);
    mDrawerLayout.addDrawerListener(mActionBarDrawerToggle);
    mActionBarDrawerToggle.syncState();
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    navigationView = findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
            menuItem.setChecked(true);
            Log.i("NavMenu: ", "listening");
            if (menuItem.getItemId() == R.id.memeCreator) {
                Log.i("NavMenu: ", "listenign");
                Toast.makeText(getApplicationContext(), "Listening", Toast.LENGTH_SHORT).show();
            }
            return true;
        }
    });

    try {
        memeMainFragment = (MemeMainFragment) getSupportFragmentManager().findFragmentById(R.id.fragmentMainMeme);
    } catch (NullPointerException e) {
        e.printStackTrace();
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mActionBarDrawerToggle.onOptionsItemSelected(item)){
        return true;
    }
    return super.onOptionsItemSelected(item);
}

}

0 个答案:

没有答案