【发布时间】:2018-08-22 13:37:34
【问题描述】:
public class MandarinPage extends AppCompatActivity {
Button b01,b02,b03;
VideoView Vv01;
MediaController mediaC;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mandarin_page);
b01=(Button)findViewById(R.id.button01);
b02=(Button)findViewById(R.id.button02);
b03=(Button)findViewById(R.id.button03);
Vv01=(VideoView)findViewById(R.id.videoView);
}
public void viedeplay(View v){
String videopath = "android.resource://a0.besta_e_learning/"+R.raw.sample_video;
Uri uri = Uri.parse(videopath); //URI stand for Uniform Resource Identifier
Vv01.setVideoURI(uri);
Vv01.setMediaController(mediaC);
mediaC.setAnchorView(Vv01);
Vv01.start();
}
when i clicked my play button my emulator show this.
有人可以帮我解决这个问题吗?有什么错误吗?当我单击按钮播放我的视频时,它显示应用程序不断停止,我不知道哪一部分出了问题。
这里是错误。
E/AndroidRuntime: 致命异常: main 进程:a0.besta_e_learning,PID:7198 java.lang.IllegalStateException:无法执行 android:onClick 的方法 在 android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Method.invoke(本机方法) 在 android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 引起:java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.MediaController.setAnchorView(android.view.View)' 空对象引用 在 a0.besta_e_learning.MandarinPage.viedeplay(MandarinPage.java:32) 在 java.lang.reflect.Method.invoke(本机方法) 在 android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
【问题讨论】:
-
请发布错误
-
是的……完成了……
-
请发布 onClick 部分的布局
-
你加入了吗?
android:onClick="viedeplay" -
我使用这个方法 String videopath = "android.resource://a0.besta_e_learning/"+R.raw.sample_video; Uri uri = Uri.parse(videopath); //URI 代表统一资源标识符 Vv01.setVideoURI(uri); Vv01.setMediaController(mediaC); mediaC.setAnchorView(Vv01); vv01.start();播放视频,所以我无法使用 onClick。
标签: java android android-videoview