Java 无法解析setOnClickListener中的符号

Java 无法解析setOnClickListener中的符号,java,android,Java,Android,我的主要活动“btnSearch”中有一个搜索按钮,当我按下此按钮时,我希望它将我带到一个新的活动“search”,以下是我为此提供的Java代码: public class MainMenu extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

我的主要活动“btnSearch”中有一个搜索按钮,当我按下此按钮时,我希望它将我带到一个新的活动“search”,以下是我为此提供的Java代码:

public class MainMenu extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_menu);
        Button btnSearch= (Button) findViewById(R.id.btnSearch);
        btnSearch.setOnClickListener(listener);

        View.OnClickListener listener=new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(getApplicationContext(), Search.class);
                startActivity(intent);

            }
        };



    }
}
btnSearch.setOnClickListener(listener)中。它给了我一个错误:
无法解析符号“listner”。


我该怎么办?

您在onCreate中声明了侦听器,这意味着只有在初始化它之后才能访问它。创建侦听器后,移动
btnSearch.setOnClickListener
,或将侦听器声明移动到类级别

或者,您可以完全跳过创建变量,直接传递侦听器:

btnSearch.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplicationContext(), Search.class);
            startActivity(intent);

        }
    });

您在onCreate中声明了侦听器,这意味着只有在初始化它之后才能访问它。创建侦听器后,移动
btnSearch.setOnClickListener
,或将侦听器声明移动到类级别

或者,您可以完全跳过创建变量,直接传递侦听器:

btnSearch.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplicationContext(), Search.class);
            startActivity(intent);

        }
    });

显示完整文件我的意思是包括程序包名称声明和导入显示完整文件我的意思是包括程序包名称声明和导入我刚刚尝试过,错误消失了,但现在每次我按下按钮,应用程序都会崩溃,有什么建议吗?哦,抱歉,我真的不熟悉此><发现错误,谢谢,忘记将活动添加到清单中。谢谢我刚试过,错误消失了,但现在每次我按下按钮,应用程序都会崩溃,有什么建议吗?哦,对不起,我真的是新手><发现错误谢谢,忘了将活动添加到清单中。谢谢