У меня есть 2 действия, скажем, активность Альфа и бета-активность.
в моем AlphaActivity.class
у меня есть код ниже:
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
cDatabase.addValueEventListener(new ValueEventListener() {
public static final String TAG = "XD";
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot snapshot : dataSnapshot.getChildren()) {
String u = snapshot.child("username").getValue().toString(),
p = snapshot.child("phone").getValue().toString(),
ad = snapshot.child("address").getValue().toString(),
f = snapshot.child("floor").getValue().toString(),
ns = snapshot.child("notes").getValue().toString();
Address a = new Address(u, p, ad, f, ns);
infoArray.add(a.address);
nameArray.add(a.name);
phoneArray.add(a.phone);
writeListView();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(ProfileActivity.this, "Action canceled!", Toast.LENGTH_SHORT).show();
}
});
}
...
Всякий раз, когда я запускаю это действие, работает как шарм,У меня есть кнопка, на которой я запускаю бета-активность onClick
примерно так:
public void betaMethod(View view) {
finish();
Intent intent = new Intent(this, BetaActivity.class);
startActivity(intent);
}
В BetaActivity.class
я делаю что-то, а затем снова у меня есть кнопка, где onClick
действует следующим образом:
public void addToDatabase() {
...
finish();
Intent intent = new Intent(this, AlphaActivity.class);
startActivity(intent);
}
Когда эти коды выполняются, мое приложение вылетает, и я получаю ошибку на AlphaActivity.class
там, где у меня есть p = snapshot.child("phone").getValue().toString()
.Могу поспорить, что это связано с методом firebase onDataChange
, но я не могу понять это.Любое предложение, пожалуйста?
Я получаю ошибку:
06-04 16:59:16.885 13978-13978/com.example.johng.assosfood E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.johng.assosfood, PID: 13978
java.lang.NullPointerException
at com.example.johng.assosfood.ProfileActivity$1.onDataChange(ProfileActivity.java:48)
at com.google.android.gms.internal.firebase_database.zzfc.zza(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzgx.zzdr(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzhd.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5333)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
at dalvik.system.NativeStart.main(Native Method)
, где ProfileActivity.java = AlphaActivity.java