You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OnLongClickListener重写报错:长按按钮跳转新Activity问题求助

解决按钮长按跳转Activity的Override错误

问题原因分析

你的代码里有两个关键错误导致了「Method does not override method from its superclass」报错:

  • 接口名称拼写错误:把View.OnLongClickListener写成了View.OnCLongClickListener(多了一个多余的C),导致你实现的不是系统定义的标准接口,@Override注解自然无法匹配到父类方法。
  • 方法返回值不匹配:onLongClick方法的标准返回值是boolean类型,你写成了void,和系统接口的方法签名不一致,因此无法完成重写。

修正后的完整代码

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

    button = (Button) findViewById(R.id.button);

    defineView();
    handleIntent();
    defineActionBar();
    checkPermission();

    button.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            openWebsite();
            return true; // 返回true表示已处理长按事件,false表示允许系统继续处理后续逻辑
        }
    });
}

public void openWebsite() {
    Intent intent = new Intent(this, Website.class);
    startActivity(intent);
}

补充说明

onLongClick的返回值需要根据需求选择:返回true意味着你已经完全处理了这个长按事件,系统不会再触发其他相关的点击行为;返回false则表示允许系统继续处理后续的点击逻辑,比如可能触发普通点击事件。

内容的提问来源于stack exchange,提问作者Xtra 514

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:45:43