我想在Android的一个活动中添加两个片段。但在加法时,它给出了错误;
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.namal.fragments.MainActivity">
<fragment
android:layout_width="match_parent"
android:layout_height="100dp"
android:name="com.example.namal.fragments.Pie1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="37dp"
android:layout_marginBottom="20dp"
android:id="@+id/fragment" />
<fragment
android:layout_width="match_parent"
android:layout_height="100dp"
android:name="com.example.namal.fragments.Pie2"
android:layout_below="@+id/fragment"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/fragment2" />
</RelativeLayout>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Pie1 firstFragment = new Pie1();
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.activity_main);
if (fragment == null) {
fm.beginTransaction()
.add(R.id.fragment, firstFragment)
.commit();
Pie2 secondFragment = new Pie2();
fm.beginTransaction()
.add(R.id.fragment2, secondFragment)
.commit();
}
}
}
片段的布局1
<FrameLayout 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:background="@color/colorAccent"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 4" />
</FrameLayout>
片段2的布局
<FrameLayout 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:background="@color/colorPrimaryDark"
tools:context="com.example.namal.fragments.Pie2">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 5" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 6" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 7" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment 8" />
</FrameLayout>
Caused by: java.lang.RuntimeException:
com.example.namal.fragments.MainActivity@1602e5b8 must implement OnFragmentInteractionListener
at com.example.namal.fragments.Pie1.onAttach(Pie1.java:83)
您需要使活动实现OnFragmentInteractionListener
public class MainActivity extends AppCompatActivity implements OnFragmentInteractionListener {
我有一个疑问,想澄清一些关于包含多个片段的活动的观点。 我有10个片段与一个活动(HomeActivity.java)相连;此活动包含一个导航抽屉和工具栏,带有多个图标,如搜索、添加、删除、后退按钮等。 我遵循的结构如下:, 用户点击抽屉菜单中的任何项目,我正在加载片段, 碎片加载- 我正在根据HomeActivity本身中的片段更改标题名称,基于工具栏。 我的导航抽屉项目只有一个片段,在frag
我对Android应用程序很陌生,所以我希望能在这里找到一些帮助。我已经在这里搜索了我的问题并找到了一些东西,但这不起作用。 我想向FrameLayout添加一个片段,但它不起作用。我的目标是创建一个框架(/框架?)这总是存在的,用户可以与它交互,在这个框架内的一个特定的“窗口”中,我想显示页面/片段,总共五个,并且能够随时切换页面/片段,所以我有一个始终存在的框架,在这个动态变化的页面内。但现在
我读过很多关于这方面的文章,但也有2012年或更早的文章。 (我只是打算从数据库中读取和插入一些数据。)
我有个错误 //类别2是片段
你好, 我有MainActivity,TitlesFragment和DelessFragment。 我的MainActivity将显示TitlesFragment,当用户单击标题时,TitlesFragment将被DetailsFragment替换。那很好。然而,当我将DetailsFragment添加到addToBackStack时。当我点击后退按钮时,它会关闭应用程序,而不是显示标题碎片。 我
在我的应用程序中,我使用了一个活动和两个片段。该应用程序使用带有容器的布局,因此片段是通过事务添加的。第一个片段包含列表视图,另一个片段包含列表视图项的详细视图。两个片段都使用setRetainInstance(true)。片段是通过替换事务添加的,并设置了addToBackStack(null)。列表片段包含一个实例变量,其中包含列表的一些信息。现在我正在切换到详细并按回,实例变量为null。我