如何在运行中更改片段?

时间:2013-04-26 20:21:12

标签: android fragment

Hy,我的片段中有这段代码:

public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
      View view = inflater.inflate(R.layout.fr_menu,container,false);
      final ViewGroup dismissableContainer = (ViewGroup)view.findViewById(R.id.dismissable_container);
      for (int i = 0; i < 3; i++) {
         final Button dismissableButton = new Button(getActivity());
          dismissableButton.setLayoutParams(new ViewGroup.LayoutParams(
                  ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
          dismissableButton.setText("Button " + (i + 1));

      dismissableContainer.addView(dismissableButton);

      }




       return view;
   }

在同一个片段中,我有一个从外部接收对象的方法

 public void sendObject(MyObject t){

         Button b=new Button(getActivity());
         b.setText(t.getNum_tav());


     // Now I want to put **b** under  button1 button2 and button3 

   }

在sendobject方法中...如何更改片段? 我必须将按钮与其他3个按钮放在一起

1 个答案:

答案 0 :(得分:0)

只需将其添加到同一ViewGroup,假设它是垂直的LinearLayout

getView().findViewById(R.id.dismissable_container).addView(b);

如果不是,那么你必须制定布局以为它准备一个合适的位置,但它在概念上应该是相似的。