Android - 我可以在上一个片段按钮上创建TextView或EditText吗?

时间:2013-03-10 12:19:39

标签: android android-fragments android-fragmentactivity

我的FragmentActivity有2 FragmentsFragmentAfragmentB。在FragmentA中有一个buttononClick fragmentA的{​​{1}},我需要在button中创建TextViewEditText。我已经调用了FragmentB FragmentB的{​​{1}} onCick事件的方法。方法如下:

FragmentA

但它不起作用。

这是我在FragmentB中的onCreate方法:

button

我的fragment_b布局:

public void updateFragmentB(String t) {
TextView tv = new TextView(getActivity().getApplicationContext());
            tv.setText(t);
}

1 个答案:

答案 0 :(得分:1)

对于Fragment B,您必须首先定义布局,然后创建TextViewEditView,然后您必须将这些TextView和EditText添加到layouts {1}}然后将该布局添加到ContentView

您可以通过以下方式完成此任务:

  1. 在xml中定义layoutsTextViewEditText,然后将xml添加到您的内容视图中

    setContentView(R.layout.fragment_layout_b);
    
  2. 或者如果您已经定义了布局,并且您希望程序化使用findViewById()方法获取布局,然后将新创建的TextViewEditText对象添加到这种布局。

  3. 您不能简单地创建TextViewEditText个对象,并将其显示在Fragment B上,您必须将它们添加到{{1}上使用的布局中}}

    如果您需要Fragment B的进一步帮助,请分享Fragment B方法的代码

    现在我可以看到你的onCreateView方法了 tv = new EditText(getActivity()。getApplicationContext());

    我假设'tv'是一个EditText引用变量,我看不到电视被添加到你的布局中。因此,您必须将TV添加到适当的布局中。

    或者您可以像添加TextView一样将EditText添加到xml中的布局中。

    好所以现在我可以查看布局xml:

    1.将android id添加到LinearLayout:

    1. 在你的代码中使用LinearLayout lLayout = myFragmentView.findViewById(R.id.lLayout); 获取LinearLayout对象。

    2. 现在将EditText视图对象添加到LinearLayout对象:

      lLayout.addView(TV); //如果tv是EditText对象