clicklistener的语法错误

时间:2013-03-04 21:50:29

标签: android button syntax

好的朋友们。所以我有我的应用程序做一些基本的功能,我很高兴自己。我的下一个目标是设置按钮和备用活动/布局。我有意继续活动,它在按钮代码之外工作正常。但是当合并到按钮代码时,我充满了语法错误。我按钮的错误是什么?

的.java

package com.eai.vgp;

import java.util.Random;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {


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


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

            op1.setOnClickListener(new OnClickListener(){
                Intent goToNextActivity = new Intent(getApplicationContext(), OptionsActivity.class);
                startActivity(goToNextActivity);
            }
    }
}

2 个答案:

答案 0 :(得分:2)

尝试:

op1.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
        Intent goToNextActivity = new Intent(getApplicationContext(), OptionsActivity.class);
        startActivity(goToNextActivity);
    }
});

您错过了完成声明所需的);,并且没有onClick()方法。

此外,您还需要将getApplicationContext()更改为MainActivity.this

答案 1 :(得分:2)

尝试:

op1.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
    Intent goToNextActivity = new Intent(v.getContext(), OptionsActivity.class);
    startActivity(goToNextActivity);
   }
});

您需要在匿名类声明的末尾同时使用分号,并且需要放置启动的代码并使您的Activity处于覆盖onClick()。我还改变了使用View的Context的意图,只是为了更清晰的代码。

相关问题