当前位置: 首页 > 知识库问答 >
问题:

找不到id 0x7F090005的视图

公孙茂学
2023-03-14

我开始建立一个简单的Android应用程序,所以当我按下我的视频按钮时,它会调用一个包含视频播放器的片段,但我总是得到:没有找到id 0x7F090005的视图...

我想知道你能不能帮我找出我正在编写的代码中有什么错误。

下面是我的mainactivity.java文件:

public class MainActivity extends Activity {

    private Button mVideoButton;
    Fragment fragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity); 

        mVideoButton = (Button)findViewById(R.id.videoButton);

        // Video Button
        mVideoButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                FragmentManager fm = getFragmentManager();
                FragmentTransaction ft = fm.beginTransaction();
                FragmentVideo sf = new FragmentVideo();

                ft.add(R.id.fragmentVideo, sf);
                ft.commit();
            }
        });
    }
}

那么我有我的main_activity.xml:

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/activityStart" >

    <ImageView 
        android:src="@drawable/armstrong_on_moon"
        android:contentDescription="@string/description"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:scaleType="centerInside"
        android:layout_weight="1" />

    <TableRow 
        android:gravity="center|bottom"
        android:layout_weight="0">

        <Button 
            android:id="@+id/videoButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/video" />

    </TableRow>
public class FragmentVideo extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState ){
        View v = inflater.inflate(R.layout.fragment_video, parent, false);

        return v;
    }   
}
<?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"
    android:id="@+id/fragmentVideo" >

        <VideoView
            android:id="@+id/video"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center" />

        <ProgressBar
            android:id="@+id/prog"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_gravity="center" />

</LinearLayout>

非常感谢事先的帮助。

EGMWeb

共有1个答案

令狐宣
2023-03-14

ft.add()上,int参数引用要向其中添加片段的容器;您正在尝试将片断添加到片断自己的布局中(Android找不到视图是因为它还没有膨胀,如果它这样做了,它将抛出异常;您不能将片断添加到它自己的布局中)。您希望用r.id.fragmentvideo替换r.id.activitystart以将片段添加到当前的表列中,该表列是已膨胀的main_activity布局的一部分

 类似资料:
  • 我正在开发一个基本的自定义相机应用程序这些是我的依赖 camera_version=“1.0.0”

  • 我一整天都被困在这个问题上,我似乎找不到一个适合我的情况的答案,足以让我使用。 当我单击一个列表项时,比如Blue,在Portraint中,我希望它显示一个新的片段,这是一个蓝色的屏幕,而在Sandwork中,它在半个屏幕上显示该片段,在另一个屏幕上显示listview。我正在使用ActionBarSherlock和碎片来完成这一点。 我从里到外构建了它,所以我从一个列表开始,它按照我想要的方式工

  • 我正试图按照本教程将thymeleaf添加到springboot应用程序中,但我似乎无法让它工作。辅导的:http://spr.com/part-2-adding-views-using-thymeleaf-and-jsp-if-you-want/ 当我在LoginController中使用@RestController启动应用程序时,我能够让springstart正常工作,但是当我将@RestC

  • 问题内容: 我有一个活动,其中包含一个片段,在该片段中有一个按钮,当单击它时,会弹出一个对话框。 在此对话框中,有一个Viewpager,其中包含一些要显示的片段。 这是代码和错误,请您花宝贵的时间告诉我我哪里错了。非常感谢您的帮助。 MainActivity.class MyFragment.class PagerDialog.class 这是dialog.xml: 这是错误 问题答案: 我找到

  • 问题内容: 我在Eclipse中打开了一个项目,但是发现我无法通过单击 Window- > Show View_切换到包浏览器。在“ _显示视图” 下 显示 的菜单中,我只是找不到项目“ Package Explorer”。可能是什么问题呢? 问题答案: 并非所有视图都直接在每个透视图中列出…选择:

  • 我正在尝试创建一个自定义ListView。当我测试我的代码时,我收到以下错误 在发布此问题之前,除了阅读有关 Fragments,ListFragments和ListViews的Android文档外,我还参考了以下链接。 链接1:fragmentation activity onCreateView < br >链接2:在Android上使用ListFragment的问题< br >链接3: An