java - 类型 new MediaPlayer.OnCompletionListener(){} 必须实现继承的抽象方法

标签 java android eclipse inheritance

我刚刚开始编程,但我并没有真正理解OnCompletionListener()方法。我已经用谷歌搜索了我遇到的错误:“新的 MediaPlayer.OnCompletionListener(){} 类型必须实现继承的抽象方法 MediaPlayer.OnCompletionListener.onCompletion(MediaPlayer)” 我尝试过更改我的代码中的一些内容,但它仍然不起作用。谁能确切地告诉我我的代码需要更改什么?提前致谢。

所以我刚刚开始编程,但我并没有真正理解方法OnClickListener。我已经在谷歌上搜索了我遇到的错误:“新的 View.OnClickListener(){} 类型必须实现继承的抽象方法 View.OnClickListener.OnClick(View)” 并且我尝试更改我的代码中的一些内容,但它仍然不起作用。谁能确切地告诉我我的代码需要更改什么?谢谢。

MainMenuScreen.java:

package com.example.memutarfileaudio;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;

class memutarfileaudio extends Activity{

   ImageButton putar;
   TextView keterangan;
   MediaPlayer mp;
   /** Called when the activity is first created. */
   @Override
   public void onCreate (Bundle SavedInstanceState) {
       super.onCreate (SavedInstanceState);
       setContentView (R.layout.activity_main);

       keterangan=(TextView) findViewById (R.id.ket);
       keterangan.setText ("Silakan klik tombol play");

       putar=(ImageButton) findViewById (R.id.putarMusik);
       putar.setOnClickListener (new OnClickListener() {
           public void onClick (View arg0) {
               putar.setEnabled (false);
               keterangan.setText ("Tombol play tidak aktif");
                   go();
           }
       });
   }
   public void go() {
   mp=MediaPlayer.create(memutarfileaudio.this, R.raw.kempot);
          try {
              mp.prepare();
          } catch (IllegalStateException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          } 
          mp.start();
    mp.setOnCompletionListener (new OnCompletionListener() {
          public void OnCompletion(MediaPlayer arg0) {
              putar.setEnabled(true);
              keterangan.setText ("Silakan klik tombol play");
          }
   });
   } 
}  

最佳答案

Java 区分大小写,方法需要以小写 o 开头,因此应将其更改为:

mp.setOnCompletionListener (new OnCompletionListener() {
          public void onCompletion(MediaPlayer arg0) {

关于java - 类型 new MediaPlayer.OnCompletionListener(){} 必须实现继承的抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484552/

相关文章:

eclipse - 如何在逆时针/Eclipse中的Leiningen项目中顺利运行测试?

database - 如何在 Windows 中使用的 Eclipse 中设置 Prolog Interpreter 路径?

java - 为什么我们可以向 LinkedList 添加 null 值,尽管在 Deque 接口(interface)中强烈反对这样做?

java - 通过括号转换为字符串会导致 Android 崩溃

java - 如何根据随机结果更改骰子滚轮的ImageView

java - Zendesk Post 票证失败,422|Android 中无法处理的实体

android - 表格布局列间距

eclipse - 高对比度 'overflowing'

java - 将 Java 构造函数/方法标记为不供客户端使用的首选方法?

java - 很好的开源 Swing/Java 组件,用于执行类似 MSN 的弹出通知