Я пытался выяснить, почему внезапно моя навигационная кнопка нижней панели для определенного действия вызывает сбои.
В MainActivity у меня есть следующая навигационная панель нижней панели:
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
//mTextMessage.setText(R.string.title_home);
return true;
case R.id.navigation_events:
//mTextMessage.setText(R.string.title_events);
return true;
case R.id.navigation_offpeak:
//mTextMessage.setText(R.string.title_offpeak);
return true;
case R.id.navigation_deals:
Intent reservationsIntent = new Intent(MainActivity.this, DealsHomeActivity.class);
startActivity(reservationsIntent);
//mTextMessage.setText(R.string.title_bookings);
return true;
case R.id.navigation_me:
Intent memberProfileIntent = new Intent(MainActivity.this, MemberProfileActivity.class);
startActivity(memberProfileIntent);
//logout();
//mTextMessage.setText(R.string.title_me);
return true;
}
return false;
}
};
Затем моя деятельность создается так же, как и все другие мои действия, например MemberProfileActivity.class.
Однако нажатие кнопки для перехода к MemberProfileActivity.class работает, как и ожидалось, на телефоне, но при этом для результатов DealsHomeActivity.class.в случае сбоя со следующим logcat:
05-27 15: 38: 40.473 31978-31978 / asia.diningcity.android E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: asia.diningcity.android,PID: 31978 java.lang.RuntimeException: Невозможно создать экземпляр активности. ComponentInfo {asia.diningcity.android/asia.diningcity.android.activities.DealsHomeActivity}: java.lang.InstantiationException: java.lang.Class не может быть создан в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2737) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2911) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1608) на android.os.Handler.dispatchMessage(Handler.java:105) в android.os.Looper.loop (Looper.java:164) в android.app.ActivityThread.main (ActivityThread.java:6665) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:781), вызванный: java.lang.InstantiationException:java.lang.Class не может быть создан на java.lang.Class.newInstance (собственный метод) на android.app.Instrumentation.newActivity (Instrumentation.java:1174) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2727)на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2911) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1608) на android.os.Handler.dispatchMessage (Handler.java:105) на android.os.Looper.loop (Looper.java:164) на android.app.ActivityThread.main (ActivityThread.java:6665)) на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) на com.android.internal.os.ZygoteInit.main (ZygoteInit).java: 781)
Я рассмотрел два действия в Java, чтобы увидеть, есть ли какие-либо различия в методе onCreate для запуска действия, но нет.
Итак, яне понимаю, откуда это может исходить.
Обратите внимание также, что раньше это работало нормально, и с тех пор я не трогал строку меню и не выполнял действия по сделкам, поэтому не знаю, что могловызвал это.