无法解析setOnClickListener中的符号

时间:2018-05-27 14:36:19

标签: java android

我的主要活动“btnSearch”中有一个搜索按钮,当我按下这个按钮时,我希望它带我去一个新的活动“搜索”,这里是我的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);中的

。它给了我错误:Cannot resolve symbol 'listner'.

我该怎么办?

1 个答案:

答案 0 :(得分:3)

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

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

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

        }
    });