2013-04-26 73 views
0

海兰,我有这样的代码在我的片段:如何更改运行中的片段?

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个按钮的

+0

让dismissableContainer一个字段,然后只要你需要添加。 – dymmeh 2013-04-26 20:51:47

+0

同样的问题,看下面 – Dom 2013-04-26 20:57:27

+0

即时通讯假设你正试图修改在不同线程的视图 – dymmeh 2013-04-26 21:05:25

回答

0

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

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

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

+0

致命异常:线程-98 – Dom 2013-04-26 20:41:20

+0

https://www.dropbox.com/s/qvryctpavqr7091/Cattura.PNG – Dom 2013-04-26 20:48:07