如何在android中实现片段

时间:2012-06-15 07:08:32

标签: android

目前正在使用DialogFragment来学习如何使用它。我认为与onCreateView()相比,onCreate()可以做到这一点:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    testTextView.setText("SUCCESS!"); //ERROR HERE
}

但我错了。不知道为什么它不起作用。当我注释掉testTextView.setText("Success!");错误是NullPointerException时,错误消失了,然后它只标记第39行,这是违规行代码所在的行。任何澄清都非常赞赏。

2 个答案:

答案 0 :(得分:1)

试试这个:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    if (container == null) {
        return null;
    }
    return (LinearLayout)inflater.inflate(R.layout.your_fragmentlayout_file, container, false);
}



@Override
public void onActivityCreated(Bundle savedInstance)
{
    super.onActivityCreated(savedInstance);
    TextView testTextView = (TextView)getActivity().findViewById(R.id.your_textview_id);
    testTextView.setText("SUCCESS!");
}

答案 1 :(得分:0)

你在哪里开始testTextView。 ?你应该这样做.........

以及片段生命周期

onAttach(Activity)-->onCreate(Bundle) -->onCreateView(LayoutInflater, ViewGroup, Bundle)->onActivityCreated(Bundle)-->onStart() 

所以你应该在onCreateView或之后处理这项工作......

http://android-developers.blogspot.in/2012/05/using-dialogfragments.html