DialogAlert内でRecyclerViewを作成する方法

MrX

DialogAlertのRecyclerViewに問題があります。以下のようなカスタムダイアログアラートがあります:

最初のダイアログ

2番目のダイアログが解決しました

私の最初のDialogAlertは、一部のeditTextしか表示されないため、正常に機能しています。しかし、画像情報(editTextに残っているドローアブル)をクリックするとエラーが発生します。その常に強制停止。私はこれこれを読みましたが、うまくいきません。これは私のログです:

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdapter(android.support.v7.widget.RecyclerView$Adapter)' on a null object reference
                    at com.example.development_laptop.vhp_restotemp.TableActivityOnline$11.onTouch(TableActivityOnline.java:412)
                    at android.view.View.dispatchTouchEvent(View.java:9290)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                    at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
                    at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
                    at android.app.Dialog.dispatchTouchEvent(Dialog.java:787)
                    at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:63)
                    at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
                    at android.view.View.dispatchPointerEvent(View.java:9514)
                    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230)
                    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096)
                    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)
                    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)
                    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922)
                    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)
                    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857)
                    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6025)
                    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
                    at android.os.MessageQueue.nativePollOnce(Native Method)
                    at android.os.MessageQueue.next(MessageQueue.java:323)
                    at android.os.Looper.loop(Looper.java:135)
                    at android.app.ActivityThread.main(ActivityThread.java:5417)
                    at java.lang.reflect.Method.invoke(Native Method)
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.development_laptop.vhp_restotemp, PID: 4011
              java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdapter(android.support.v7.widget.RecyclerView$Adapter)' on a null object reference
                  at com.example.development_laptop.vhp_restotemp.TableActivityOnline$11.onTouch(TableActivityOnline.java:412)
                  at android.view.View.dispatchTouchEvent(View.java:9290)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                  at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
                  at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
                  at android.app.Dialog.dispatchTouchEvent(Dialog.java:787)
                  at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:63)
                  at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
                  at android.view.View.dispatchPointerEvent(View.java:9514)
                  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230)
                  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096)
                  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)
                  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)
                  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922)
                  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)
                  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857)
                  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6025)
                  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
                  at android.os.MessageQueue.nativePollOnce(Native Method)
                  at android.os.MessageQueue.next(MessageQueue.java:323)
                  at android.os.Looper.loop(Looper.java:135)
                  at android.app.ActivityThread.main(ActivityThread.java:5417)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                at com.android.internal.os.ZygoteInit.mai

これは私のActivity.javaのDialogAlertコードです:

public void openTableActivityDialog() {
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
    LayoutInflater inflater = this.getLayoutInflater();
    final View dialogView = inflater.inflate(R.layout.open_table_activity, null);
    dialogBuilder.setView(dialogView);

    final EditText edt_guestName_OpenActivity = (EditText) dialogView.findViewById(R.id.edt_guestname_openActivity);
    final EditText edt_pax_OpenActivity = (EditText) dialogView.findViewById(R.id.edt_pax_openActivity);
    final EditText edt_room_OpenActivity = (EditText) dialogView.findViewById(R.id.edt_room_openActivity);

    edt_room_OpenActivity.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    final int DRAWABLE_RIGHT = 2;
                    if(event.getAction() == MotionEvent.ACTION_UP) {
                        if(event.getRawX() >= (edt_room_OpenActivity.getRight() - edt_room_OpenActivity.
                                getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {

                            AlertDialog.Builder dialogBuilderRoomList = new AlertDialog.Builder(TableActivityOnline.this);
                            LayoutInflater inflater = TableActivityOnline.this.getLayoutInflater();
                            final View dialogView = inflater.inflate(R.layout.guestname_list_activity, null);
                            dialogBuilderRoomList.setView(dialogView);

                            filteredGuestRoomList = new JSONArray();

                            final GenericAdapter adapterGuestNameList;

                            final RecyclerView recyclerViewGuestNameList = (RecyclerView) dialogView.findViewById(R.id.recyclerViewGuestNameList);
                            final LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(TableActivityOnline.this);
                            recyclerViewGuestNameList.setLayoutManager(mLinearLayoutManager);

                            loadGuestRoom();

                            adapterGuestNameList = new GenericAdapter(recyclerViewGuestNameList);
                            recyclerViewGuestNameList.setAdapter(adapterGuestNameList);


                            adapterGuestNameList.setOnRecyclerViewListener(new GenericAdapter.OnRecyclerViewListener() {
                                @Override
                                public void OnRecyclerViewItemClicked(RecyclerView recyclerView, int position) {

                                }

                                @Override
                                public void OnRecyclerViewItemBind(RecyclerView recyclerView, GenericAdapter.GenericHolder view, int position) {
                                    try {
                                        JSONObject currGuestNameList = filteredGuestRoomList.getJSONObject(position);
                                        view.txtArticlesName.setText(currGuestNameList.getString("name"));
                                        view.txtArticlesName.setTextSize(15);
                                        view.txtArticlesName.setTextColor(Color.BLUE);

                                        view.txtArticlesPrice.setText(currGuestNameList.getString("zinr"));
                                        view.txtArticlesPrice.setTextSize(15);
                                        view.txtArticlesPrice.setTextColor(Color.BLUE);

                                        view.itemView.setBackgroundResource(R.color.colorWhite);
                                    } catch (JSONException e) {
                                        e.printStackTrace();
                                    }

                                }

                                @Override
                                public int OnRecyclerViewItemCount(RecyclerView recyclerView) {
                                    return filteredGuestRoomList.length();
                                }
                            });

                            dialogBuilderRoomList.setNegativeButton("", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int whichButton) {
                                }
                            });


                            AlertDialog alertDialog = dialogBuilderRoomList.create();
                            alertDialog.show();


                            return true;
                        }
                    }
                    return false;
                }
            });


    checkingOpenTable();

    try {
        dialogBuilder.setTitle("Table " + currTable.getString("tischnr"));
    } catch (JSONException e) {
        e.printStackTrace();
    }
    dialogBuilder.setPositiveButton("Confirm Table", new DialogInterface.OnClickListener() {


        public void onClick(DialogInterface dialog, int whichButton) {

        }
    });

    dialogBuilder.setNegativeButton("", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
        }
    });
    AlertDialog alertDialog = dialogBuilder.create();
    alertDialog.show();
}

パブリッククラスでRecyclerViewを宣言しようとしましたが、それでも同じエラーが発生します。どんな答えでも私を助けます。前に感謝

akash93

RecyclerViewは、R.layout.guestname_list_activityieによって膨らんだビューの内側にあるdialogViewため、初期化は次のようになります。

final RecyclerView recyclerViewGuestNameList = (RecyclerView) dialogView.findViewById(R.id.recyclerViewGuestNameList);

とはいえ、ダイアログ内のダイアログは、これを行うための最良の方法ではありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RecyclerViewでonClickListenerを作成する

分類Dev

RecyclerView内でLiveDataでDataBindingを使用する方法

分類Dev

RecyclerView内でViewStubを使用する方法はありますか?

分類Dev

Kotlin:別のRecyclerview内のRecyclerviewでアイテムをクリックする方法

分類Dev

同じRecyclerViewでSearchViewを作成する方法は?

分類Dev

RecyclerViewで水平リストビューを作成する方法は?

分類Dev

RecyclerViewで偽のスワイプを作成する方法

分類Dev

CollapsingToolbarLayout内でRecyclerviewをスクロールする方法

分類Dev

RecyclerView内にさまざまなCardViewレイアウトを作成する方法

分類Dev

ボタンのRecyclerViewを作成する方法

分類Dev

辞書内、辞書内で辞書を作成する方法... 'n'回

分類Dev

別のrecyclerView内にrecyclerViewを追加する方法

分類Dev

AndroidのrecyclerView内にrecyclerviewを配置する方法

分類Dev

substrを使用してHTML内でPHPを作成する方法

分類Dev

複数のビュータイプでRecyclerViewを作成する方法は?

分類Dev

1 つのレイアウトで 2 つの Recyclerview を作成する方法

分類Dev

RecyclerViewアダプターのonBindViewHolder内でoverridePendingTransitionを宣言する方法は?

分類Dev

このようなRecyclerview内でカスタムレイアウトを作成することは可能ですか?

分類Dev

画像src内のangularjsで条件を作成する方法

分類Dev

関数内からjavascriptで2つの `this`参照を作成する方法

分類Dev

summarise_if内で加重平均を作成する方法

分類Dev

JavaScriptでforループ内に要素を作成する方法

分類Dev

GridViewYii2内で条件を作成する方法

分類Dev

Excelで数式内に日付を作成する方法

分類Dev

ビュー内で派生属性を作成する方法

分類Dev

forループ内で辞書を作成するPythonの方法

分類Dev

ループ内で要素を作成してDOMに追加する方法

分類Dev

R内でDateTime変数を作成する方法

分類Dev

div内で<li>タグを並べて作成する方法-html

Related 関連記事

  1. 1

    RecyclerViewでonClickListenerを作成する

  2. 2

    RecyclerView内でLiveDataでDataBindingを使用する方法

  3. 3

    RecyclerView内でViewStubを使用する方法はありますか?

  4. 4

    Kotlin:別のRecyclerview内のRecyclerviewでアイテムをクリックする方法

  5. 5

    同じRecyclerViewでSearchViewを作成する方法は?

  6. 6

    RecyclerViewで水平リストビューを作成する方法は?

  7. 7

    RecyclerViewで偽のスワイプを作成する方法

  8. 8

    CollapsingToolbarLayout内でRecyclerviewをスクロールする方法

  9. 9

    RecyclerView内にさまざまなCardViewレイアウトを作成する方法

  10. 10

    ボタンのRecyclerViewを作成する方法

  11. 11

    辞書内、辞書内で辞書を作成する方法... 'n'回

  12. 12

    別のrecyclerView内にrecyclerViewを追加する方法

  13. 13

    AndroidのrecyclerView内にrecyclerviewを配置する方法

  14. 14

    substrを使用してHTML内でPHPを作成する方法

  15. 15

    複数のビュータイプでRecyclerViewを作成する方法は?

  16. 16

    1 つのレイアウトで 2 つの Recyclerview を作成する方法

  17. 17

    RecyclerViewアダプターのonBindViewHolder内でoverridePendingTransitionを宣言する方法は?

  18. 18

    このようなRecyclerview内でカスタムレイアウトを作成することは可能ですか?

  19. 19

    画像src内のangularjsで条件を作成する方法

  20. 20

    関数内からjavascriptで2つの `this`参照を作成する方法

  21. 21

    summarise_if内で加重平均を作成する方法

  22. 22

    JavaScriptでforループ内に要素を作成する方法

  23. 23

    GridViewYii2内で条件を作成する方法

  24. 24

    Excelで数式内に日付を作成する方法

  25. 25

    ビュー内で派生属性を作成する方法

  26. 26

    forループ内で辞書を作成するPythonの方法

  27. 27

    ループ内で要素を作成してDOMに追加する方法

  28. 28

    R内でDateTime変数を作成する方法

  29. 29

    div内で<li>タグを並べて作成する方法-html

ホットタグ

アーカイブ