Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 数据绑定、表格布局和“;未找到片段”;_Android_Android Fragments_Android Databinding - Fatal编程技术网

Android 数据绑定、表格布局和“;未找到片段”;

Android 数据绑定、表格布局和“;未找到片段”;,android,android-fragments,android-databinding,Android,Android Fragments,Android Databinding,在我的Android应用程序中,我有一个带有RecyclerView的活动,当用户单击一个项目时,我会调用另一个活动,该活动有一个带有2个片段的TabLayout,每个选项卡用于用户填写的一组字段 当我不使用数据绑定时,一切正常,但当我将代码更改为使用数据绑定时,将显示以下错误消息: 碎片管理器:找不到id为0x7f0c0072的视图 (mypackage:id/container)用于片段 ContatosFormFragment2[…] 碎片管理器:活动状态: AndroidRuntime

在我的Android应用程序中,我有一个带有RecyclerView的活动,当用户单击一个项目时,我会调用另一个活动,该活动有一个带有2个片段的TabLayout,每个选项卡用于用户填写的一组字段

当我不使用数据绑定时,一切正常,但当我将代码更改为使用数据绑定时,将显示以下错误消息:

  • 碎片管理器:找不到id为0x7f0c0072的视图 (mypackage:id/container)用于片段 ContatosFormFragment2[…]
  • 碎片管理器:活动状态:
  • AndroidRuntime:致命异常:主
  • java.lang.IllegalArgumentException:未找到片段ContatosFormFragment2[…]”的id 0x7f0c0072(mypackage:id/container)的视图
奇怪的是,如果我没有包含ContatosFormFragment1(因此我只有一个选项卡),ContatosFormFragment2就会工作。。。 此外,如果我更改选项卡顺序,首先包括ContatosFormFragment2,然后是ContatosFormFragment1,则错误消息为“未找到片段ContatosFormFragment1的视图[…]”

注意:如果您能关注主要问题,我会特别说明,我的意思是,不要担心变量名、封装、代码样式等。。。这是一个初始代码,将在工作时得到改进

下面是带数据绑定和不带数据绑定的代码:

我的活动,数据绑定没有更改

public class ContatosFormActivity extends AppCompatActivity {
    public User contato;
    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;
    TextView tNome, tTipo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contatos_form);
    Utils.initToolbar(this,false);

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

    mViewPager = (ViewPager) findViewById(R.id.container);
    setupViewPager(mViewPager);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);
    Cursor cursor = (new DbController(getBaseContext())).carregaContatoById(getIntent().getIntExtra("contatoId", -1));
    contato = new User(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.NOME)));
    contato.setTipoPessoa(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.TIPO_PESSOA)));
}

private void setupViewPager(ViewPager viewPager) {
    SectionsPagerAdapter adapter = new SectionsPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new ContatosFormFragment1(), "Principal");
    adapter.addFragment(new ContatosFormFragment2(), "Histórico");
    viewPager.setAdapter(adapter);
}

public class SectionsPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }
    /* constructor + getItem + getCount + getPageTitle ...*/
}}
public class ContatosFormFragment1 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);
        inputName = (EditText) view.findViewById(R.id.editText);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputName.setText(contatosFormActivity.contato.getNome());

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);
        inputTipoPessoa = (EditText) view.findViewById(R.id.tipo_pessoa);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputTipoPessoa.setText(contatosFormActivity.contato.getTipoPessoa());
        return view;
    }
}

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>
public class ContatosFormFragment1 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab1Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab1);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab2Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab2);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

fragment_contatos_tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.nome}"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>

fragment_contatos_tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.tipoPessoa}"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>
公共类ContatosFormActivity扩展了AppCompatActivity{
公共用户contato;
私人部门SPAGERAAdapter MSECTIONSPAGERAAdapter;
私有视图寻呼机mViewPager;
tTipo的TextView tNome;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u contatos\u表单);
Utils.initToolbar(this,false);
mSectionsPagerAdapter=newsectionspageradapter(getSupportFragmentManager());
mViewPager=(ViewPager)findViewById(R.id.container);
setupViewPager(mViewPager);
TabLayout TabLayout=(TabLayout)findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mviewpage);
Cursor Cursor=(新DbController(getBaseContext()).carregaContatoById(getIntent().getIntExtra(“contatoId”,-1));
contato=新用户(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.NOME));
contato.setTipoPessoa(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.TIPO_PESSOA));
}
专用无效设置ViewPager(ViewPager ViewPager){
SectionsPagerAdapter=新的SectionsPagerAdapter(getSupportFragmentManager());
addFragment(新ContatosFormFragment1(),“主体”);
addFragment(新的ContatosFormFragment2(),“Histórico”);
viewPager.setAdapter(适配器);
}
公共类节SpagerAdapter扩展了FragmentPagerAdapter{
私有最终列表MFFragmentList=new ArrayList();
私有最终列表MFFragmentTitleList=new ArrayList();
public void addFragment(片段片段,字符串标题){
添加(片段);
MFFragmentTitleList.add(标题);
}
/*构造函数+getItem+getCount+getPageTitle*/
}}
无数据绑定的代码

public class ContatosFormActivity extends AppCompatActivity {
    public User contato;
    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;
    TextView tNome, tTipo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contatos_form);
    Utils.initToolbar(this,false);

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

    mViewPager = (ViewPager) findViewById(R.id.container);
    setupViewPager(mViewPager);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);
    Cursor cursor = (new DbController(getBaseContext())).carregaContatoById(getIntent().getIntExtra("contatoId", -1));
    contato = new User(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.NOME)));
    contato.setTipoPessoa(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.TIPO_PESSOA)));
}

private void setupViewPager(ViewPager viewPager) {
    SectionsPagerAdapter adapter = new SectionsPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new ContatosFormFragment1(), "Principal");
    adapter.addFragment(new ContatosFormFragment2(), "Histórico");
    viewPager.setAdapter(adapter);
}

public class SectionsPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }
    /* constructor + getItem + getCount + getPageTitle ...*/
}}
public class ContatosFormFragment1 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);
        inputName = (EditText) view.findViewById(R.id.editText);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputName.setText(contatosFormActivity.contato.getNome());

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);
        inputTipoPessoa = (EditText) view.findViewById(R.id.tipo_pessoa);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputTipoPessoa.setText(contatosFormActivity.contato.getTipoPessoa());
        return view;
    }
}

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>
public class ContatosFormFragment1 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab1Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab1);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab2Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab2);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

fragment_contatos_tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.nome}"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>

fragment_contatos_tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.tipoPessoa}"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>
公共类ContatosFormFragment1扩展了片段{
私有编辑文本输入名;
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(右布局。碎片\u contatos\u tab1,容器,假);
inputName=(EditText)view.findViewById(R.id.EditText);
ContatosFormActivity ContatosFormActivity=(ContatosFormActivity)getActivity();
inputName.setText(contatosFormActivity.contato.getNome());
返回视图;
}
}
公共类ContatosFormFragment2扩展了片段{
私有编辑文本输入名;
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(右布局。碎片控制表2,容器,假);
InputIPoPessOA=(EditText)view.findViewById(R.id.tipo_pessoa);
ContatosFormActivity ContatosFormActivity=(ContatosFormActivity)getActivity();
InputIPoPessOA.setText(contatosFormActivity.contato.getIPoPessOA());
返回视图;
}
}
fragment_contatos_tab1.xml
fragment_contatos_tab2.xml
带有数据绑定的代码

public class ContatosFormActivity extends AppCompatActivity {
    public User contato;
    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;
    TextView tNome, tTipo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contatos_form);
    Utils.initToolbar(this,false);

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

    mViewPager = (ViewPager) findViewById(R.id.container);
    setupViewPager(mViewPager);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);
    Cursor cursor = (new DbController(getBaseContext())).carregaContatoById(getIntent().getIntExtra("contatoId", -1));
    contato = new User(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.NOME)));
    contato.setTipoPessoa(cursor.getString(cursor.getColumnIndexOrThrow(DbHelper.TIPO_PESSOA)));
}

private void setupViewPager(ViewPager viewPager) {
    SectionsPagerAdapter adapter = new SectionsPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new ContatosFormFragment1(), "Principal");
    adapter.addFragment(new ContatosFormFragment2(), "Histórico");
    viewPager.setAdapter(adapter);
}

public class SectionsPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }
    /* constructor + getItem + getCount + getPageTitle ...*/
}}
public class ContatosFormFragment1 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);
        inputName = (EditText) view.findViewById(R.id.editText);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputName.setText(contatosFormActivity.contato.getNome());

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{
    private EditText inputName;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);
        inputTipoPessoa = (EditText) view.findViewById(R.id.tipo_pessoa);
        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        inputTipoPessoa.setText(contatosFormActivity.contato.getTipoPessoa());
        return view;
    }
}

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

</LinearLayout>
public class ContatosFormFragment1 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab1,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab1Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab1);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

public class ContatosFormFragment2 extends Fragment{

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_contatos_tab2,container,false);

        ContatosFormActivity contatosFormActivity = (ContatosFormActivity)getActivity();
        FragmentContatosTab2Binding binding = DataBindingUtil.setContentView(getActivity(), R.layout.fragment_contatos_tab2);
        binding.setContato(contatosFormActivity.contato);

        return view;
    }
}

fragment_contatos_tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/editText"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.nome}"
                android:elegantTextHeight="false"
                android:hint="Nome"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>

fragment_contatos_tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable name="contato" type="net.simplifiedcoding.retrofitexample.models.User"/>
    </data>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_tipoPessoa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tipo_pessoa"
                android:layout_gravity="center_horizontal"
                android:text="@{contato.tipoPessoa}"
                android:elegantTextHeight="false"
                android:hint="Tipo de Pessoa"/>
        </android.support.design.widget.TextInputLayout>

    </LinearLayout>
</layout>
公共类ContatosFormFragment1扩展了片段{
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(右布局。碎片\u contatos\u tab1,容器,假);
ContatosFormActivity ContatosFormActivity=(ContatosFormActivity)getActivity();
FragmentContatosTab1Binding binding=DataBindingUtil.setContentView(getActivity(),R.layout.fragment_contatos_tab1);
binding.setContato(contatosFormActivity.contato);
返回视图;
}
}
公共类ContatosFormFragment2扩展了片段{
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(右布局。碎片控制表2,容器,假);
ContatosFormActivity ContatosFormActivity=(ContatosFormActivity)getActivity();
FragmentContatosTab2Binding binding=DataBindingUtil.setContentView(getActivity(),R.layout.fragment_contatos_tab2);
binding.setContato(contatosFormActivity.contato);
返回视图;
}
}
fragment_contatos_tab1.xml
fragment_contatos_tab2.xml
我解决了这个问题