Java 我想用两个不同的片段使用相同的xml文件
我是android编程新手。我想写一个包含两个片段的android程序。设计将是一样的,但我不能写两次布局文件,因为它有很多小部件,所以有办法处理这个问题吗Java 我想用两个不同的片段使用相同的xml文件,java,android,xml,android-fragments,android-studio,Java,Android,Xml,Android Fragments,Android Studio,我是android编程新手。我想写一个包含两个片段的android程序。设计将是一样的,但我不能写两次布局文件,因为它有很多小部件,所以有办法处理这个问题吗 如果复制xml文件小部件ID保持不变,并且在java类中无法访问它们…让我们假设您有fragment\u container.xml: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fraContaine
如果复制xml文件小部件ID保持不变,并且在java类中无法访问它们…让我们假设您有fragment\u container.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fraContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
这将用您想要的片段替换片段布局(容器)
现在让我们检查一下MyFragmentA和MyFragmentB
public class MyFragmentA extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_both, container, false);
TextView x = (TextView)view.findViewById(R.id.textView);
x.setText("I am fragment A");
return view;
}
...
第二个片段呢
public class MyFragmentB extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_both, container, false);
TextView x = (TextView)view.findViewById(R.id.textView);
x.setText("I am fragment B");
return view;
}
...
两者都通过引用视图对象来膨胀相同的片段_Both.xml,并且都使用具有相同ID的相同TextView
我希望这有助于您理解它。您可以简单地在更多片段中使用相同的xml文件,如下所示: 片段A
public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.your_layout, container, false);
...
return v;
}
}
片段B
public class FragmentB extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.your_layout, container, false);
...
return v;
}
}
您是否在每个片段中使用完全相同的XML布局?为什么不能在两个片段中膨胀相同的XML文件?
public class FragmentB extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.your_layout, container, false);
...
return v;
}
}