0

私はアンドロイド開発の初心者で、ボタンを使用してサウンドを再生する簡単なアプリケーションを開発しようとしています。私はSoundPoolを使用しようとしていますが、すべてのチュートリアルでsoundpoolオブジェクトを作成した後に追加するコードが提供されていることがわかりました:

soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
            @Override
            public void onLoadComplete(SoundPool soundPool, int sampleId,
                    int status) {
                loaded = true;
            }
        });

しかし、このコードをEclipseで使用しようとすると、

タイプ new SoundPool.OnLoadCompleteListener(){} の onLoadComplete(SoundPool, int, int) メソッドは、スーパークラス メソッドをオーバーライドする必要があります。@override 表記を削除することを提案します。そのような方法がない場合、これは起こるはずですか?? なぜこのエラーが発生するのですか?

そして、私がsoundID = soundPool.load(this、R.raw.mysound、1);を置くと

上記のコードの後、Eclipse は、SoundPool 型のメソッド load(Context, int, int) は、引数 (new View.OnClickListener(){}, int, int) には適用されません。

これは私のコード全体です: public class FirstActivity extends Activity { /** アクティビティが最初に作成されたときに呼び出されます。*/

private SoundPool soundPool;
int soundID;
boolean loaded = false;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button bPlay = (Button) findViewById(R.id.bPlay);
    final TextView aRing = (TextView)findViewById(R.id.tAlarmRinging);

    bPlay.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            aRing.setVisibility(View.VISIBLE);

            soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
                @Override
                public void onLoadComplete(SoundPool soundPool, int sampleId,
                        int status) {
                    loaded = true;
                }
            });
            soundID = soundPool.load(this, R.raw.mysound, 1);
        }

        });
}

}

4

1 に答える 1

0

プロジェクトのコンプライアンス レベルを Java 1.7 などに設定してみてください。

プロジェクトを右クリックし、[プロパティ] -> [Java コンパイラ] -> [プロジェクト固有の設定を有効にする] をオンにして、最高のコンパイラ準拠レベルを選択します。

これが機能しない場合は、プロジェクトを右クリックし、AndroidTools->Fix project properties を選択します。

于 2012-06-29T12:23:17.400 に答える