Android- void setOnClickListener 想要返回

Posted

技术标签:

【中文标题】Android- void setOnClickListener 想要返回【英文标题】:Android- void setOnClickListener wants return 【发布时间】:2018-02-21 17:22:14 【问题描述】:

这是我的代码。我为你标记了两个错误。你可以猜到,我是 android 的初学者。 我真的无法理解它们的含义,因为另一个活动中的类似代码可以完美运行。 方法“onClick”被标记为从未使用过,我想这是问题的关键。 但为什么它要我从 void 函数返回?!我什至尝试过“return false”;在那里,但它根本没有用。

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class MenuActivity extends AppCompatActivity implements View.OnClickListener 
    private Button intentMenuButton;

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

    intentMenuButton = (Button) findViewById(R.id.intentMenuButton);
    intentMenuButton.setOnClickListener(this); //in View cannot be applied to package_name;



public void onClick(View v)
    if(v.getId() == R.id.furtherButton)
        Intent intentMain = new Intent(this,MainActivity.class);
        startActivity(intentMain);
    
   //Missing return statement! 

【问题讨论】:

您的按钮 ID 是 intentMenuButton,您正在使用 R.id.furtherButton 进行检查。 @ND1010_好吧,这是学习java的方法之一。 v.getId() == R.id.intentMenuButton 发布您的 XML 对话代码 如果您提出这样的问题,您将获得持续降级积分。按照我的建议自己做点努力。 【参考方案1】:

像这样使用...

intentMenuButton.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View v) 

            
        );

【讨论】:

从你的代码中删除这一行... intentMenuButton.setOnClickListener(this); //在View中不能应用到package_name; 也删除...实现 View.OnClickListener 你能解释一下吗从你的代码中删除这一行... intentMenuButton.setOnClickListener(this); //in View不能应用到package_name 您可以编辑您的帖子,而不是在 cmets 中添加更多信息【参考方案2】:

1.我猜是缺少@Override。

2.将R.id.furtherButton替换为R.id.intentMenuButton

@Override
public void onClick(View v)
    if(v.getId() == R.id.intentMenuButton)
        Intent intentMain = new Intent(this,MainActivity.class);
        startActivity(intentMain);
    
 

【讨论】:

以上是关于Android- void setOnClickListener 想要返回的主要内容,如果未能解决你的问题,请参考以下文章

CMAKE未定义引用'cv :: fastFree(void *)错误的OpenCV Android实现

尝试调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$onClickListener)'

Android:尝试在空对象引用上调用虚拟方法“void android.widget.ListView.setAdapter(android.widget.ListAdapter)”

AdvancedWebView中的错误:void onUnhandledInputEvent

Android Studio:尝试在空对象引用上调用虚拟方法“void android.view.View.setOnClickListener”

java.lang.NoSuchMethodError public default void android.content.ServiceConnection.onBindingDied(andr