私のクラスはDialogFragmentに引数を渡す必要がありますが、NullPointerExceptionの(ダイアログクラスの)onCreateメソッド内でアプリがクラッシュします。コードのダイアログフラグメントクラス部分:
public class ConfirmDialog extends DialogFragment {
public ConfirmDialog() {}
ConfirmDialog newInstance(String f) {
ConfirmDialog d = new ConfirmDialog();
Bundle args = new Bundle();
args.putString("FILE_NAME", f);
d.setArguments(args);
return d;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
file = getArguments().getString("FILE_NAME");
}
私はこの行にnullpointerを持っています:
file = getArguments().getString("FILE_NAME");
そして、私は理由がわかりません。ダイアログを呼び出すコードも貼り付けます
private void showConfirmDialog(String file) {
FragmentManager fm = getSupportFragmentManager();
ConfirmDialog dialog = new ConfirmDialog();
Log.i("SHOWFILEACTIVITY", file);
dialog.newInstance(file);
dialog.show(fm, "fragment_confirm_dialog");
}
ここで、「ファイル」文字列はnullではありません。
Log.i("SHOWFILEACTIVITY", file);