目前正在使用DialogFragment来学习如何使用它。我认为与onCreateView()
相比,onCreate()
可以做到这一点:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
testTextView.setText("SUCCESS!"); //ERROR HERE
}
但我错了。不知道为什么它不起作用。当我注释掉testTextView.setText("Success!");
错误是NullPointerException
时,错误消失了,然后它只标记第39行,这是违规行代码所在的行。任何澄清都非常赞赏。
答案 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