【发布时间】:2016-09-04 07:19:18
【问题描述】:
下面是我的 Tab1.java 代码。我正在尝试在此片段中播放音乐文件。
如果不实现MediaPlayer,应用程序在我的模拟器上运行良好。但是当我插入MediaPlayer 行时,即使Gradle 构建成功,应用程序也没有在我的模拟器上打开并显示不幸的是应用程序停止了。
package com.example.bavarian.sos;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
public class Tab1 extends Fragment {
ImageButton HelpButton ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
/* HelpButton = (ImageButton) getView().findViewById(R.id.imageButton);
HelpButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer Alarm = MediaPlayer.create(getView().getContext(),R.raw.sound);
Alarm.start();
}
}); */
return inflater.inflate(R.layout.tab1, container, false);
}
}
此错误的可能原因是什么?
【问题讨论】:
-
什么是 getView() ?
-
你能删除 getView() 吗?
-
方法 findViewById 在 OnCreate 方法中工作正常。要在 OnCreateView 中使用它,getView() 是必需的。
-
你移动了 MediaPlayer Alarm = MediaPlayer.create(getView().getContext(),R.raw.sound);没有点击?
-
不。取消注释上述部分会在模拟器上显示错误。我没有改变任何东西。
标签: android android-fragments android-mediaplayer