我的FragmentActivity
有2 Fragments
,FragmentA
和fragmentB
。在FragmentA
中有一个button
。 onClick
fragmentA
的{{1}},我需要在button
中创建TextView
和EditText
。我已经调用了FragmentB
FragmentB
的{{1}} onCick
事件的方法。方法如下:
FragmentA
但它不起作用。
这是我在FragmentB中的onCreate方法:
button
我的fragment_b布局:
public void updateFragmentB(String t) {
TextView tv = new TextView(getActivity().getApplicationContext());
tv.setText(t);
}
答案 0 :(得分:1)
对于Fragment B
,您必须首先定义布局,然后创建TextView
和EditView
,然后您必须将这些TextView
和EditText添加到layouts
{1}}然后将该布局添加到ContentView
。
您可以通过以下方式完成此任务:
在xml中定义layouts
,TextView
和EditText
,然后将xml添加到您的内容视图中
setContentView(R.layout.fragment_layout_b);
或者如果您已经定义了布局,并且您希望程序化使用findViewById()
方法获取布局,然后将新创建的TextView
和EditText
对象添加到这种布局。
您不能简单地创建TextView
或EditText
个对象,并将其显示在Fragment B
上,您必须将它们添加到{{1}上使用的布局中}}
如果您需要Fragment B
的进一步帮助,请分享Fragment B
方法的代码
现在我可以看到你的onCreateView方法了 tv = new EditText(getActivity()。getApplicationContext());
我假设'tv'是一个EditText引用变量,我看不到电视被添加到你的布局中。因此,您必须将TV添加到适当的布局中。
或者您可以像添加TextView一样将EditText添加到xml中的布局中。
好所以现在我可以查看布局xml:
1.将android id添加到LinearLayout:
在你的代码中使用LinearLayout lLayout = myFragmentView.findViewById(R.id.lLayout); 获取LinearLayout对象。
现在将EditText视图对象添加到LinearLayout对象:
lLayout.addView(TV); //如果tv是EditText对象