Android中活动片段中的Access视图
这似乎是一个奇怪的问题,但对我来说并不清楚。 我用一个activty和一个片段创建了一个简单的Android项目。 第一个问题:片段是在使用setContentView创建活动的事件中创建的,对吗? 现在,为什么我可以设置位于片段布局中的TextView的文本(例如) 你能澄清一下活动片段的链接吗? 谢谢大家! 罗伯托 片段是在使用setContentView创建活动的事件中创建的,是否正确 我们没有办法知道,因为我们没有你的代码。通过以下两种方式之一将片段添加到活动中:Android中活动片段中的Access视图,android,android-fragments,android-activity,Android,Android Fragments,Android Activity,这似乎是一个奇怪的问题,但对我来说并不清楚。 我用一个activty和一个片段创建了一个简单的Android项目。 第一个问题:片段是在使用setContentView创建活动的事件中创建的,对吗? 现在,为什么我可以设置位于片段布局中的TextView的文本(例如) 你能澄清一下活动片段的链接吗? 谢谢大家! 罗伯托 片段是在使用setContentView创建活动的事件中创建的,是否正确 我们没有办法知道,因为我们没有你的代码。通过以下两种方式之一将片段添加到活动中: 膨胀包含标记的布局,例
标记的布局,例如通过setContentView()
FragmentTransaction
,使用add()
或replace()
将片段放入活动中片段
或列表适配器
或回收视图适配器
或其他任何地方都无关紧要
现在,让一个活动操纵由片段创建的视图不是一个好主意——“关注点分离”说片段应该管理自己的视图
片段是在使用setContentView创建活动的事件中创建的,是否正确
我们没有办法知道,因为我们没有你的代码。通过以下两种方式之一将片段添加到活动中:
标记的布局,例如通过setContentView()
FragmentTransaction
,使用add()
或replace()
将片段放入活动中片段
或列表适配器
或回收视图适配器
或其他任何地方都无关紧要
现在,让活动操纵片段创建的视图不是一个好主意——“关注点分离”说片段应该管理自己的视图。如果我正确理解了你的问题 您有一个包含java文件和xml文件的活动。然后有一个片段,它有自己的java文件和xml文件 当您的活动启动时,它会像下面这样打开指定的xml文件
setContentView(R.layout.activity_main);
现在,如果您想使用片段,您应该在活动的xml中有一个框架布局作为片段容器。下面是承载片段的活动的示例
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar">
</include>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
然后运行并显示您的片段
片段被用来分割用户界面代码。因此,一个程序中可以有5个活动和15个片段,而不是20个活动。您可以重用片段并替换它们。例如,我正在进行的当前项目有一个将近800行的主要活动。我不想每次切换屏幕时都再次运行所有这些代码行,所以我制作了一堆片段。主活动仍处于活动状态,片段也处于活动状态,但如果我正确理解了您的问题,我可以在片段之间切换,而无需启动和重新启动一系列活动 您有一个包含java文件和xml文件的活动。然后有一个片段,它有自己的java文件和xml文件 当您的活动启动时,它会像下面这样打开指定的xml文件
setContentView(R.layout.activity_main);
现在,如果您想使用片段,您应该在活动的xml中有一个框架布局作为片段容器。下面是承载片段的活动的示例
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar">
</include>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
然后运行并显示您的片段
片段被用来分割用户界面代码。因此,一个程序中可以有5个活动和15个片段,而不是20个活动。您可以重用片段并替换它们。例如,我正在进行的当前项目有一个将近800行的主要活动。我不想每次切换屏幕时都再次运行所有这些代码行,所以我制作了一堆片段。主活动仍然是活动的,片段也是活动的,但是我可以在片段之间切换,而不是启动和重新启动一堆活动