2

現在、DialogFragment をいじって使用方法を学んでいます。と比較してonCreateView()onCreate()これができると思いました:

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

しかし、私は間違っています。なぜ機能しないのかわかりません。コメントアウトするとエラーは消えtestTextView.setText("Success!");ます エラーはNullPointerExceptionであり、問​​題のあるコード行がある行 39 にフラグを立てるだけです。説明をいただければ幸いです。

4

2 に答える 2

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!");
}
于 2012-06-15T07:39:22.400 に答える
0

testTextView を初期化した場所。? あなたはそれをすべきです........

また、フラグメントのライフサイクルに従って

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

したがって、この作業は onCreateView またはこの後に処理する必要があります...

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

于 2012-06-15T07:12:34.007 に答える