我有他的课的片段:如何动态地填充片段布局?
public class FormatShortFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.bag_format_short, container, false);
return rootView;
}
}
这是他的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
</RelativeLayout>
该片段由FragmentPageAdapter所示。 当用户从服务器添加项目(项目的来源无关紧要)时,布局将会增长,并且此项目将为水平线性布局,并带有textview和edittext(item_name,item_value)。这个值是可以修改的,所以必须是一个edittext,并且这个edittext会定期从服务器接收值,所以可以自动更新。
解释了这个之后,我该如何将这个linearLayouts和他的子视图动态添加到GUI中?何时更新界面?
非常感谢,任何帮助都很好,我对这个主题很失望。
经过修改编辑:
我已经以这种方式修改了代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.bag_format_short, container, false);
return rootView;
}
@Override
public void onResume() {
super.onResume();
LinearLayout parentLinear = (LinearLayout) getActivity().findViewById(R.id.short_container);
for (int i = 1; i<10; i++){
LinearLayout innerLinear = (LinearLayout) new LinearLayout(getActivity());
TextView itemName = new TextView(getActivity());
itemName.setText("Nombre");
EditText itemValue = new EditText(getActivity());
itemValue.setText("Valor");
innerLinear.addView(itemName);
innerLinear.addView(itemValue);
parentLinear.addView(innerLinear);
}
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onStop() {
super.onStop();
}
和碎片布局已被修改在这条路上:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:id="@+id/short_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
</RelativeLayout>
现在布局每次迭代都在增长。
在这一点上我有另一个问题,我希望你能帮助我。 - 如何用重力或重量等属性生成LayouParams对象? - 如何将数据从MainActivity传递到片段? - 我怎样才能强制片段视图与新数据一起加载?
另外我需要知道如何将clickListener事件绑定到编程方式的linearLayouts中,我需要根据名称和编辑值修改服务器上的某些值。
非常感谢你,你正在拯救我的生命。
编辑问题与修改,把你的答案类似的例子。谢谢。你能帮助我解决其他问题吗? – osanfer