Java 将视图与其他XML布局结合使用
我正在开发一个应用程序,需要通过mjpeg获取无人机的信息流 我正在使用来自的类。这个例子很好用,但我需要在同一个视图中添加一些其他元素,比如控制机场的按钮 示例代码:Java 将视图与其他XML布局结合使用,java,android,xml,video-streaming,mjpeg,Java,Android,Xml,Video Streaming,Mjpeg,我正在开发一个应用程序,需要通过mjpeg获取无人机的信息流 我正在使用来自的类。这个例子很好用,但我需要在同一个视图中添加一些其他元素,比如控制机场的按钮 示例代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... mv = new MjpegView(this); setContentView(mv);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mv = new MjpegView(this);
setContentView(mv);
...
我想做但不起作用的事
...
mv = (MjpegView) findViewById(R.id.mv);
setContentView(R.layout.activity_test);
...
我的布局xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
tools:context="com.gabilheri.rosbridgecontroller.app.TestActivity"
android:layout_height="fill_parent"
android:id="@+id/mainLayout">
<com.gabilheri.rosbridgecontroller.app.VideoStreamClasses.MjpegView
android:id="@+id/mv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</FrameLayout>
以下是onPost execute方法中的行:
mv.setSource(result); //Line 86
mv.setDisplayMode(MjpegView.SIZE_BEST_FIT); // Line 87
mv.showFps(true); // Line 88
有人有什么想法吗?谢谢我发现了我的问题所在 我试图做到:
mv = (MjpegView) findViewById(R.id.mv);
setContentView(R.layout.activity_test);
得到了一个NullPointerException。。我改为:
setContentView(R.layout.activity_test);
mv = (MjpegView) findViewById(R.id.mv);
现在一切都正常工作了:)这一行:
TestActivity.java:86
编辑了原始帖子以添加这些行。似乎MjpegInputStream result
param toonPostExecute
是Null
。我可以看到这一点。我想理解的是为什么在第二种情况下会发生,而在第一种情况下不会发生:(marcus也在尝试使用xml实现同样的功能,我按照你的回答做了,但是流媒体图像没有发生,但是如果我以编程方式使用它,它会工作z为什么?你得到了什么错误?是应用程序崩溃还是简单的黑屏?简单的黑屏?你是如何设置视频源的?你使用examp吗如果找到异步任务,请尝试将:new DoRead().execute(cameraUrl);
添加到onResume方法中。
setContentView(R.layout.activity_test);
mv = (MjpegView) findViewById(R.id.mv);