微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

onOptionsItemsSelected 不能被覆盖并且未被使用?

如何解决onOptionsItemsSelected 不能被覆盖并且未被使用?

所以我已经在互联网上搜索了几个小时,但找不到解决方案。看起来我对此代码有两个问题,第一个是 onoptionsItemsSelected 的@Override(方法不会覆盖其超类的方法),第二个是 onoptionsItemsSelected 本身。 onoptionsItemsSelected 告诉我从未使用过该方法,我认为这可能是我遇到 @Override 问题的原因。我只是不确定我忽略了什么。我在下面提供了 java 代码,如果需要 xml 代码,请告诉我,我会尽快发布。提前致谢。

package com.example.main_navigation;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class WalletActivity extends AppCompatActivity {

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

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.actionbar_menu,menu);
        return true;
    }
    @Override  ///First issue is here and 2nd issue is right below this line
    protected boolean onoptionsItemsSelected(final MenuItem item) {

        final int id = item.getItemId();
        if (id == R.id.action_custom_button) {
            startActivity(new Intent(getApplicationContext(),NavigationActivity.class));
            overridePendingTransition(0,0);
            return true;
        }
        return super.onoptionsItemSelected(item);
    }

}

解决方法

它是 onOptionsItemSelected - 物品,而不是物品。

,

对于第一个问题:将方法范围从 protected 更改为 public

对于第二个问题:onOptionsItemsSelected tells me the method is never used 这是 Android Studio 的一个警告,因为没有调用这个方法所以它没用

,

试试下面的源代码,而不是 onOptionsItemsSelected 类。

@Override  ///First issue is here and 2nd issue is right below this line
protected boolean onOptionsItemsSelected(final MenuItem item) {

    final int id = item.getItemId();
    if (id == R.id.action_custom_button) {
        startActivity(new Intent(getApplicationContext(),NavigationActivity.class));
        overridePendingTransition(0,0);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。