#android
#Android
Вопрос:
Я реализую функцию, щелкаю по пункту меню, а затем перехожу к новому действию, вот код:
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.expert_mode:
Intent intent = new Intent();
intent.setClass(MainActivity.this, ExpertModeActivity.class);
startActivity(intent);
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
и действие, объявленное здесь:
import android.os.Bundle;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import Utils.AbstractLogger;
import Utils.Logcat;
public class ExpertModeActivity extends AppCompatActivity implements Thread.UncaughtExceptionHandler {
protected AbstractLogger mLogger = new Logcat("ExpertModeActivity", true);
@Override
public void uncaughtException(@NonNull Thread t, @NonNull Throwable e) {
mLogger.error(e);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.expert_mode);
}
}
в manifest.xml , я объявил эту деятельность следующим образом:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.ltd.lifesearchapp.DebugActivity" />
<activity android:name="com.ltd.lifesearchapp.ResultExplorerActivity" />
<activity android:name="com.ltd.lifesearchapp.ExpertModeActivity"/>
теперь, когда я запускаю этот модуль, я получил эту ошибку:
2020-10-19 16:07:17.893 29154-29154/com.ltd.lifesearchapp W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getVisibility()' on a null object reference
2020-10-19 16:07:17.894 29154-29154/com.ltd.lifesearchapp W/System.err: at android.view.ViewRootImpl.getHostVisibility(ViewRootImpl.java:1856)
2020-10-19 16:07:17.894 29154-29154/com.ltd.lifesearchapp W/System.err: at android.view.ViewRootImpl.handleAppVisibility(ViewRootImpl.java:1491)
2020-10-19 16:07:17.895 29154-29154/com.ltd.lifesearchapp W/System.err: at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4928)
2020-10-19 16:07:17.895 29154-29154/com.ltd.lifesearchapp W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
2020-10-19 16:07:17.895 29154-29154/com.ltd.lifesearchapp W/System.err: at android.os.Looper.loop(Looper.java:214)
2020-10-19 16:07:17.896 29154-29154/com.ltd.lifesearchapp W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7156)
2020-10-19 16:07:17.896 29154-29154/com.ltd.lifesearchapp W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2020-10-19 16:07:17.897 29154-29154/com.ltd.lifesearchapp W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
2020-10-19 16:07:17.897 29154-29154/com.ltd.lifesearchapp W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Я нахожу какой-то ответ на подобную проблему, но я до сих пор понятия не имею.
Меня это смущает, кто-нибудь знает причину этой проблемы?
Комментарии:
1. извините, я сначала использую stackoverflow, чтобы задать вопрос, и какой-то код неправильно отформатирован
2. в какой строке вы получаете эту ошибку, этот код неясен в соответствии с вашим журналом сбоев
3. на самом деле, для этой ошибки нет действительного журнала ошибок, вот почему я запутался
4. как вы видите, это все. В журнале ошибок не указано, какая строка кода была причиной ошибки, я запутался, потому что не могу найти проблему
5. когда я запускаю приложение, я нажимаю меню, и в onoptionsitemselected я успешно перехожу к другому действию, startactivity успешно возвращается, а затем возникает эта ошибка