[解決済み] android studioです。NULLオブジェクトの参照で仮想メソッドを呼び出そうとする
2022-02-17 06:42:14
質問
この質問は何度もされていますが、以前の回答では私の問題を解決することができませんでした。私は、非アクティビティクラスで大きな文字列配列を使用し、使用されたときに任意のアクティビティで配列を返すアプリを作っています。アプリはコンパイル中にエラーを出さなかったのですが、途中でクラッシュしてしまいます。 私のコードは次のとおりです。
String[] busNamesSearch;
GetDBClass BDclassBuses;
AutoCompleteTextView searchView;
String BSquery;
Button searchButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_bus);
busNamesSearch = BDclassBuses.GetBusNameArrays();
searchView = (AutoCompleteTextView) findViewById(R.id.searchBusesView);
searchButton = (Button)findViewById(R.id.searchBusButton);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, busNamesSearch);
searchView.setThreshold(1);
searchView.setAdapter(arrayAdapter);
エラーログは
07-17 18:09:21.332 2548-2548/com.prinia.gaurav.Ppbus E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.prinia.gaurav.Ppbus, PID: 2548
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.prinia.gaurav.punebus/com.prinia.gaurav.Ppbus.SearchBusActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] com.prinia.gaurav.Ppbus.GetDBClass.GetBusNameArrays()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] com.prinia.gaurav.Ppbus.GetDBClass.GetBusNameArrays()' on a null object reference
at com.prinia.gaurav.Ppbus.SearchBusActivity.onCreate(SearchBusActivity.java:26)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
問題が発生していると思われるエラー行は
busNamesSearch = BDclassBuses.GetBusNameArrays();
もうどうしたらいいかわからない。あらゆる方法を試してみた。
どうすればいいですか?
今後の参考のためにメモしておきます。Nullポインタは、クラスのメソッドや変数を初期化せずにアクセスした場合に発生します。非常に素朴なバージョンでは、null.somethingを実行するたびに発生します。
もし、NULLポインタに直面したら、NULL.somethingを実行したかどうかを確認してください。
そして、クラス参照は、オブジェクトが生成されない時点までNULLです。通常、オブジェクトの生成行は次のようになります。
ClassName referenceName = new ClassName()
ここで、=の右側の部分は、=記号の左側にある参照名を使ってアクセスできるオブジェクトを作成しています。
関連
-
[解決済み】パッケージ名(Google Analytics)に一致するクライアントが見つからない - 複数のproductFlavorsとbuildTypes
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み】Android Studioです。「プロジェクトが C ドライブに作成されている場合、「タスク ':app:mergeDebugResources' の実行に失敗しました。
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み】Bluestackの向きを変更する : ポートレート/ランドスケープモード
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studioでパラメータ化されたユニットテストを実行すると、指定されたインクルードに対するテストが見つからないエラーが発生する
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】新しいAVDを作成すると、CPU/ABIフィールドに「システムイメージがインストールされていません」と表示される。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
-
[解決済み] Android: @drawable/picture を drawable に変換するのに失敗しました。
-
[解決済み] Gradleのエラーです。イベントディスパッチスレッドからの書き込みアクセスは、Android Studioでのみ許可されます。
-
[解決済み】NullPointerExceptionとは何ですか、そしてどのようにそれを修正すればいいですか?