私のアプリがopen中にシステムによって閉じられていることに気付きましたが、nullpointexceptionがあります。 私はここに活動があります。私はデータフォームdbを取得し、オブジェクトを作成します。それから私は新しいフラグメントを作成し、作成者の前に設定してセッターで賞賛します。フラグメントマネージャを使用してフラグメントを表示します。私のオブジェクトを持つonCreateメソッドのフィールドがnullであるため、ここに問題があります。私はオブジェクトを設定したと確信して、それはnullではなかった。私は、DBからデータを取得し、断片アプリケーションがシステム(Android)によって閉じられた後にのみアプリケーションを実行しようとするとNullpointexceptionが発生する
public class ActivityForSingle extends AppCompatActivity {
Employee emloyee;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_for_single);
...
getEmployee(); // here I get emplyee from db and create employee object
SitePersonFragment f = new SitePersonFragment();
f.setEmpoyee(employee); // here emplyee is not null
getSupportFragmentManager().beginTransaction().add(R.id.frameForFragment, f, "USER_SITE").commit();
}
public class SitePersonFragment extends Fragment implements Update, DatePickerDialog.OnDateSetListener {
Employee employee;
setEmployee(Employee e){
this.emplyee = e;
//here e and employee is not null
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//here employee is null
// why??
}
何が起こったの作成
活動?アプリが破壊されたのでデバッグできません。
あなたは何を意味するかを変更(直列化またはParcelableクラスが必要ですか)? System.exitのメソッドを使うべきではありません –
そして、Fragmentsのsettersを使うのは、オブジェクトを初期化するためのパターンではないことがよくあります。あなたのコードをAndroidで[mcve] –
として表示してください。 Androidが必要な場合は別の魔法使いが使用されていません。 – JavaMan