我正在从一个片段发布数据并通过向其添加视图来更新另一个片段。我没有使用列表视图。我正在使用线性布局。
我有一个非常简单的疑问。如何获取视图并通过向其添加另一个视图来更新它?
基本上我想膨胀已经有数据的线性布局,并在添加片段的主要活动中添加一个视图。
编辑:
LinearLayout ll = (LinearLayout)fragment.getView().findViewById(R.id.commentFragmentLayout);
ViewGroup view = (ViewGroup) ll.getParent();
View customView = view;
TextView commentContext = (TextView) customView.findViewById(R.id.commentText);
commentContext.setText("hello");
view.addView(customView);
我试图在主要活动中这样做,但我的观点给出了空指针异常。
编辑2:
FragmentManager fm = getSupportFragmentManager();
// You can find Fragments just like you would with a View by using FragmentManager.
android.support.v4.app.Fragment fragment = fm.findFragmentById(R.id.fragmentCommentContent);
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE);
View child = inflater.inflate(R.layout.comments_list_item, null);
LinearLayout ll = (LinearLayout)fragment.getView().findViewById(R.id.commentFragmentLayout);
TextView newText = (TextView) child.findViewById(R.id.commentText);
newText.setText("Important text");
ll.addView(newText);
我试过了,得到:指定的孩子已经有了父母。首先在孩子的父母上调用 removeView()。问题是,如果我调用删除视图,我会丢失之前在布局中插入的数据。