gpt4 book ai didi

java - 多个视频 View 问题

转载 作者:行者123 更新时间:2023-11-30 09:33:43 26 4
gpt4 key购买 nike

我的应用程序包含 5 个按钮,每个按钮打开不同的视频 View ,当我创建代码时,我在 : (new MediaController(this)) 下有红色标记,我尝试了很多来解决它但我不能,

请给我任何建议,我是 android 开发的新手,

谢谢

更新后应用更改为:(new MediaController(this)),得到另一个错误

我的代码:

多按钮类:

public class MultipleButton extends Activity {
String night;

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

}

public void handleClick(View v){
//Create an intent to start the new activity.
Intent intent = new Intent();
intent.setClass(this,My_videos.class);
intent.putExtra("video",night);
startActivity(intent);
}
}

My_videos CLASS :强文本

 public class My_videos extends Activity {
private Button button;
private VideoView vid;
String night;

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


initializeVideoViews(); }

private void initializeVideoViews() {


String night = getIntent().getStringExtra("video");

if(night.equalsIgnoreCase("button1")){
button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

vid =(VideoView) findViewById(R.id.videoView1);
vid.setVideoURI(Uri.parse("android.resource://" +
getPackageName() +"/"+R.raw.a));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();


}
}); }



else if(night.equalsIgnoreCase("button2")){

button = (Button) findViewById(R.id.button2);

button.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

vid = (VideoView) findViewById(R.id.videoView1);
vid.setVideoURI(Uri.parse("android.resource://" +
getPackageName() +"/"+R.raw.b));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();



}
});}

else if(night.equalsIgnoreCase("button3")){

button = (Button) findViewById(R.id.button3);

button.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

vid = (VideoView) findViewById(R.id.videoView1);
vid.setVideoURI(Uri.parse("android.resource://" +
getPackageName() +"/"+R.raw.c));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();



}
});}

else if(night.equalsIgnoreCase("button4")){

button = (Button) findViewById(R.id.button4);

button.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

vid = (VideoView) findViewById(R.id.videoView1);
vid.setVideoURI(Uri.parse("android.resource://" +
getPackageName() +"/"+R.raw.d));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();


}
});}
else if(night.equalsIgnoreCase("button5")){

button = (Button) findViewById(R.id.button5);

button.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

vid = (VideoView) findViewById(R.id.videoView1);
vid.setVideoURI(Uri.parse("android.resource://" +
getPackageName() +"/"+R.raw.e));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();


}
});

}}}

更新:强文本

LOGCAT:

I/Process(25196): Sending signal. PID: 25196 SIG: 9
D/AndroidRuntime(25447): Shutting down VM
W/dalvikvm(25447): threadid=1: thread exiting with uncaught exception (group=0x40015578)
E/AndroidRuntime(25447): FATAL EXCEPTION: main
E/AndroidRuntime(25447): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tsn.dr/com.tsn.dr.My_videos}: java.lang.NullPointerException
E/AndroidRuntime(25447):at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1651)
E/AndroidRuntime(25447):at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1667)
E/AndroidRuntime(25447):at android.app.ActivityThread.access$1500 (ActivityThread.java:117)
E/AndroidRuntime(25447):at android.app.ActivityThread$H.handleMessage (ActivityThread.java:935)
E/AndroidRuntime(25447):at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(25447):at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(25447):at android.app.ActivityThread.main(ActivityThread.java:3687)
E/AndroidRuntime(25447):at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(25447):at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(25447):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:842)
E/AndroidRuntime(25447):at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:600)
E/AndroidRuntime(25447):at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(25447): Caused by: java.lang.NullPointerException
E/AndroidRuntime(25447):at com.tsn.dr.My_videos.initializeVideoViews (My_videos.java:31)
E/AndroidRuntime(25447):at com.tsn.dr.My_videos.onCreate(My_videos.java:24)
E/AndroidRuntime(25447):at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047)
E/AndroidRuntime(25447):at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1615)
E/AndroidRuntime(25447): ... 11 more

list .xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tsn.dr"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MultipleButton"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".My_videos"
android:label="@string/app_name">
</activity>
</application>

主.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="handleClick"
android:text="Button" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="handleClick"
android:text="Button" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="handleClick"
android:text="Button" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="handleClick"
android:text="Button" />

<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="handleClick"
android:text="Button" />
</LinearLayout>

视频.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<VideoView
android:id="@+id/videoView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</LinearLayout>

最佳答案

编写以下任意一行代码

多个按钮.java

public class MultipleButton extends Activity {

String night;
Button mBtn1, mBtn2, mBtn3, mBtn4, mBtn5;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mBtn1=(Button)findViewById(R.id.button1);
mBtn1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
night="button1";
Intent intent = new Intent();
intent.setClass(MultipleButton.this, My_videos.class);
intent.putExtra("video", night);
startActivity(intent);
}
});

mBtn2=(Button)findViewById(R.id.button2);
mBtn2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
night="button2";
Intent intent = new Intent();
intent.setClass(MultipleButton.this, My_videos.class);
intent.putExtra("video", night);
startActivity(intent);
}
});

mBtn3=(Button)findViewById(R.id.button3);
mBtn3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
night="button3";
Intent intent = new Intent();
intent.setClass(MultipleButton.this, My_videos.class);
intent.putExtra("video", night);
startActivity(intent);
}
});

mBtn4=(Button)findViewById(R.id.button4);
mBtn4.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
night="button4";
Intent intent = new Intent();
intent.setClass(MultipleButton.this, My_videos.class);
intent.putExtra("video", night);
startActivity(intent);
}
});

mBtn5=(Button)findViewById(R.id.button5);
mBtn5.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
night="button5";
Intent intent = new Intent();
intent.setClass(MultipleButton.this, My_videos.class);
intent.putExtra("video", night);
startActivity(intent);
}
});
}
}

我的视频.java

public class My_videos extends Activity {
private VideoView vid;
String night;

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

Bundle bdl = getIntent().getExtras();
night = bdl.getString("video");

vid = (VideoView) findViewById(R.id.videoView1);

if (night.equalsIgnoreCase("button1")) {
vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
+ "/" + R.raw.a));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();
} else if (night.equalsIgnoreCase("button2")) {
vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
+ "/" + R.raw.b));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();
} else if (night.equalsIgnoreCase("button3")) {
vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
+ "/" + R.raw.c));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();
} else if (night.equalsIgnoreCase("button4")) {
vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
+ "/" + R.raw.d));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();
} else if (night.equalsIgnoreCase("button5")) {
vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
+ "/" + R.raw.e));
vid.setMediaController(new MediaController(My_videos.this));
vid.requestFocus();
vid.start();
}
}
}

main.xml:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />

<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />

</LinearLayout>

而不是你的 My_videos.java 类

关于java - 多个视频 View 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com