Android 使用片段xml文件中的视图
我有一个包含多个选项卡的活动(使用“固定选项卡+滑动”样式)。每个选项卡布局都定义为一个片段xml文件 例如,我的活动称为Android 使用片段xml文件中的视图,android,android-fragments,Android,Android Fragments,我有一个包含多个选项卡的活动(使用“固定选项卡+滑动”样式)。每个选项卡布局都定义为一个片段xml文件 例如,我的活动称为ModifyCustActivity。这使用了一个几乎为空的xml文件,名为activity\u modify\u cust.xml。此页面上的每个选项卡都由各种xml文件表示,如fragment\u modify\u cust\u basic和fragment\u modify\u cust\u address等。每个片段xml文件都包含EditTexts、Spinners
ModifyCustActivity
。这使用了一个几乎为空的xml文件,名为activity\u modify\u cust.xml
。此页面上的每个选项卡都由各种xml文件表示,如fragment\u modify\u cust\u basic
和fragment\u modify\u cust\u address
等。每个片段xml文件都包含EditText
s、Spinner
s等
当活动开始时,我需要能够从活动代码访问这些视图,因为我需要预先填充它们,并在编辑它们后获得它们的结果。然而,由于这些视图存在于片段xml文件中,我似乎无法在代码中访问它们。有没有办法访问片段xml文件中包含的视图
有没有办法访问片段xml文件中包含的视图
是的,但是您的片段应该在XML布局文件中声明,这似乎就是您的情况
例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
...">
<fragment
android:name="com.example.MyFragment"
android:id="@+id/my_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
然后使用片段
实例,您可以进一步访问视图,例如通过从片段调用公共方法来更新某些特定视图
更新:假设您有一个
TextView
,它出现在片段的布局中,并且需要从活动中更新
让这成为片段类:
public class MyFragment extends Fragment{
private TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, null, false);
textView = (TextView)view.findViewById(R.id.textView);
return view;
}
public void updateTextView(String text){
textView.setText(text);
}
}
然后通过在活动中调用updateTextView()
方法来更新TextView
:
fragment.updateTextView("text");
您可以从“活动”访问片段视图。如果要将数据从片段发送到另一个片段。您的发送者片段必须与活动通信,并且您的活动可以操纵其他片段中的视图
谢谢你,安迪。实际上我刚刚注意到了。很抱歉我的愚蠢。还有一件事,你能稍微扩展一下代码,给出一个例子,说明我如何更详细地引用片段中的视图吗?我有点困了:(谢谢你,安迪。显然我需要学习更多关于碎片的知识,因为这让我很困惑!干杯。
fragment.updateTextView("text");