我能够通过捆绑/实例将字符串值传递给PageFragment。但是我怎样才能通过一个观点?传递查看到PageFragment
我试图在PageFragment中创建一个公共的LinearLayout,然后在FragmentPagerAdapter中使用PageFragment.linearlayout.addView(myview);
。但它没有工作
public class PageFragment extends Fragment {
public static LinearLayout linearlayout;
public static PageFragment newInstance(String title) {
PageFragment pageFragment = new PageFragment();
Bundle bundle = new Bundle();
bundle.putString("title", title);
pageFragment.setArguments(bundle);
return pageFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.page_quiz, container, false);
tv = (TextView) view.findViewById(R.id.questionText);
tv.setText(getArguments().getString("title"));
linearlayout= (LinearLayout) view.findViewById(R.id.questionList);
return view;
}
}
FragmentPagerAdapter:
private static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
...
@Override
public Fragment getItem(int index) {
PageFragment.linearlayout.addView(myview); //=> doesnt work
String mytext = "My Text";
return PageFragment.newInstance(index + mytext);
}
感谢您的回复,它确实有所帮助。我将尝试创建方法并在片段完全构建后添加视图。但是哪些类/方法片段完全构建?它尚未在'getItem'中构建;那么我可以在哪里添加'View'? – metemet06 2013-04-20 09:00:38
@ metemet06您可以通过从'onCreate'或'onResume'方法发布'Runnable'来实现。但是再一次,如果您打算将视图添加到适配器的每个片段中,并且在开始时考虑在片段本身中进行。 – Luksprog 2013-04-20 09:44:32
是的,我将添加视图到适配器的每个片段。对不起,也许它是一个简单的问题,但将**'Runnable'在** PageFragment的onCreate **中,如果可能的话;你可以给我一个示例如何使用:'myview.post(new Runnable(){public void run(){...}})'谢谢 – metemet06 2013-04-20 10:04:33