Что не так с моим синтаксисом? - PullRequest
2 голосов
/ 15 января 2012

Eclipse дает мне много ошибок для одной конкретной строки кода:

Несколько маркеров в этой строке

- Syntax error, insert ")" to complete 
 ConstructorDeclaration
- Syntax error, insert "}" to complete ClassBody
- Syntax error, insert ";" to complete 
 ConstructorDeclaration
- Syntax error, insert ";" to complete Statement
- Syntax error, insert ")" to complete 
 MethodInvocation

Строка:

setOnClickListener(new View.OnClickListener(); {

и в другой строке я получаю ошибки

Несколько маркеров в этой строке

- Syntax error on token ")", delete 
 this token
- Syntax error on token "(", ; expected

для строки: public void onClick (View v); {

Вот и есть активность2.java:

package android.app;
import android.app.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;



public class activity2 extends Activity{

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        Button next = (Button) findViewById(R.id.Back);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }
            Button sound = (Button) findViewById(R.id.sound);
            setOnClickListener(new View.OnClickListener(); {
                @Override
                public void onClick(View v); {
                    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.whippingsound);  
                    mp.start();
                }
            }
            ;

    ;
}}

Ответы [ 2 ]

5 голосов
/ 15 января 2012

Это:

            setOnClickListener(new View.OnClickListener(); {
                @Override
                public void onClick(View v); {
                    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.whippingsound);  
                    mp.start();
                }
            }

должно быть таким:

            setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.whippingsound);  
                    mp.start();
                }
            })

(без точки с запятой перед содержимым внутреннего класса; и да с круглыми скобками в конце вызова функции).

2 голосов
/ 15 января 2012
setOnClickListener(new View.OnClickListener(); {

=>

setOnClickListener(new View.OnClickListener() {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...