让我们说以下是我的片段。
public class FieldsFragment extends Fragment {
LinearLayout linearLayout;
ScrollView scrollView;
ViewGroup rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = (ViewGroup) inflater.inflate(
R.layout.single_field_fragment ,null);
scrollView = (ScrollView) rootView.findViewById(R.id.single_field_scrollView);
return rootView;
}
public void setLinearLayout(LinearLayout linearLayout){
scrollView.removeAllViews();
scrollView.addView(linearLayout);
}
public LinearLayout getLinearLayout(){
return linearLayout;
}
}
我想做的是......
ArrayList<FieldsFragment> fragmentList = new ArrayList<FieldsFragment>();
fragment = new FieldsFragment();
fragment.setLinearLayout(lL);
fragmentList.add(fragment);
只是想将我的线性布局解析为来自其他活动的片段,以便在FragmentStatePagerAdapter中使用...
问题是我不能在不启动scrollView(findViewByID)的情况下setLinearLayout(myLayout1)。
我的工作流程非常简单...... (1)从服务器拉出linearLayout .. (2)将它们设置为每个FieldsFragment并将它们添加到ArrayList (3)并使用该ArrayList放入FragmentStatePagerAdapter。 目的是滑动从服务器获得的所有线性布局。
答案 0 :(得分:0)
我得到了一个解决方案,而且非常简单。 以下是我将linearlayout放入片段的方式,它可以工作。
public class MyFragment extends Fragment {
ScrollView scrollView;
private LinearLayout linearLayout;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.my_fragment , container, false);
scrollView = (ScrollView) rootView.findViewById(R.id.svMyFragment);
scrollView.addView(linearLayout);
return rootView;
}
public static final MyFragment newInstance(LinearLayout linear_Layout){
MyFragment myfragment = new MyFragment();
myfragment.setLinearLayout(linear_Layout);
return myfragment;
}
public void setLinearLayout(LinearLayout linearLayout) {
this.linearLayout = linearLayout;
}
}
在FragmentActivity类中,像这样实例化
MyFragment fooFragment = MyFragment.newInstance(myLinearLayout);