java - 无法解析 setOnClickListener 中的符号

标签 java android

我的主要 Activity “btnSearch”中有一个搜索按钮,当我按下此按钮时,我希望它带我进入新的 Activity “搜索”,这是我为此拥有的 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);

        }
    });

关于java - 无法解析 setOnClickListener 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50553228/

相关文章:

java - 动态类型检查匹配类型参数

java - 我如何应用alertDialog作为AsyncTask中的服务器响应

java - Spring数据Solr

java - List<integer> c1=new Arraylist<integer>c1 是什么类型的对象

java - 使用 LibGDX 中的触摸板仅以 45° 的步长移动播放器

java - 将对象数据写入包裹

java - 如何在模块化 Android 应用程序中共享依赖项

android - 在android中使用带有listview的contextmenu

java - Android:运行一个空方法会产生多少开销?

java - GraphQL 禁用输入验证,添加自定义错误