关于这Fragment

关于这Fragment

http://img1.sycdn.imooc.com//climg/5a0a91c40001ecb705380535.jpg

1
<br>

http://img1.sycdn.imooc.com//climg/5a0a91c50001e07110060564.jpg

http://img1.sycdn.imooc.com//climg/5a0a91c5000185f717570655.jpg


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/second_fragment"
    android:orientation="vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp"
    tools:context="com.studio.app2.SecondActivity"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用来显示Fragment的页面"
        />

     <fragment
         android:name="com.studio.app2.FragmentTest"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         tools:layout="@layout/fragment_test" />


</LinearLayout>
package com.studio.app2;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Created by Administrator on 2017/11/14.
 */

public class FragmentTest extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return   inflater.inflate(R.layout.fragment_test,container,false);
    }

}

按照视频讲解的一样写了出来,不添加fragment 到显示页面的XML中的时候就可以正常运行打开出页面,一加上箭头指的fragment到XML去 就软件出错,异常如图,看不懂,咋回事啊老师


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

静态方式实现Fragment:

1、在你的com.studio.app2包下创建继承Fragment的自定义FragmentTest类,并重写onCreateView()方法,设置布局文件(tools:layout是为了能让fragment在预览视图中正常显示);

2、在xml布局中添加fragment标签,并设置id属性或者给当前XML文件的根布局添加id(注意这里如果不设置id就会报错)

  • 猪哥哥呀 提问者 #1
    老师你说的这些我都写了啊,一点击打开第二个页面就软件关闭出错,代码我贴在上面了
    2017-11-14 17:38:03
  • 猪哥哥呀 提问者 #2
    老师我找到错误了,我MainActivity用的 extends AppCompatActivity 但是我创建SecondActivity的时候用的extends Activity ; 我用JAVA代码去实现add一个fragment的时候发现根本 不能找到教学中使用的FragmentManager fragmentManager=getSupportFragmentManager();只能找到 FragmentManager fragmentManager=getFragmentManager(); 我就想是不是继承的Activity类有问题,改成跟MainActivity相同的AppCompatActivity 一下就对了,,,这是为什么呢? AppCompatActivity和Activity不能混合使用吗??
    2017-11-14 18:05:30
  • irista23 回复 提问者 猪哥哥呀 #3
    你布局文件fragment_test里面都添加什么内容了,应该不是你上述代码的问题,查看一下AS底部log红色输出的信息也可以贴出来
    2017-11-14 18:05:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师