我有他的課的片段:如何動態地填充片段佈局?
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