Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 开关箱功能仅打开最后一项_Java_Android_Webview_Navigation - Fatal编程技术网

Java 开关箱功能仅打开最后一项

Java 开关箱功能仅打开最后一项,java,android,webview,navigation,Java,Android,Webview,Navigation,嗨,我有一个导航菜单,它与开关盒功能一起工作。标题组组件定义为“i”。子菜单组件定义为“il”。我正试图打开一个子菜单,但它只打开项目3上最后定义的链接。为什么子菜单只打开最后一个链接?我的错误在哪里?请帮忙 这就是功能: prepareListData(); mMenuAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild, expandableList); // sett

嗨,我有一个导航菜单,它与开关盒功能一起工作。标题组组件定义为“i”。子菜单组件定义为“il”。我正试图打开一个子菜单,但它只打开项目3上最后定义的链接。为什么子菜单只打开最后一个链接?我的错误在哪里?请帮忙

这就是功能:

prepareListData();
        mMenuAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild, expandableList);

        // setting list adapter
        expandableList.setAdapter(mMenuAdapter);

        expandableList.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
            @Override
            public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
                //Log.d("DEBUG", "submenu item clicked");

                switch (i) {
                    case 0 :
                        webView.loadUrl("http://pixelay.com/");
                        break;

                    case 1 :
                        webView.loadUrl("http://pixelay.com/news/");
                        break;

                    case 2 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/apple/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/apple/iphone/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/apple/ipad/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/apple/mac/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/apple/appletipps/");
                                break;
                            case 5:
                                webView.loadUrl("http://pixelay.com/apple/ios-apps/");
                                break;
                        }

                    case 3 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/android/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/android/smartphones/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/android/tablets/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/android/androidtipps/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/android/android-apps/");
                                break;
                        }

                    ...


                return false;
            }
        });
       ....

您忘记在父案例之后添加
中断

 prepareListData();
        mMenuAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild, expandableList);

        // setting list adapter
        expandableList.setAdapter(mMenuAdapter);

        expandableList.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
            @Override
            public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
                //Log.d("DEBUG", "submenu item clicked");

                switch (i) {
                    case 0 :
                        webView.loadUrl("http://pixelay.com/");
                        break;

                    case 1 :
                        webView.loadUrl("http://pixelay.com/news/");
                        break;

                    case 2 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/apple/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/apple/iphone/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/apple/ipad/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/apple/mac/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/apple/appletipps/");
                                break;
                            case 5:
                                webView.loadUrl("http://pixelay.com/apple/ios-apps/");
                                break;
                        }
                    break;
                    case 3 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/android/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/android/smartphones/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/android/tablets/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/android/androidtipps/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/android/android-apps/");
                                break;
                        }
                    break;
                    case 4 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/windows/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/windows/tablets-windows/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/windows/ultrabooks-windows/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/windows/pc-windows/");
                                break;
                        }
                    break;
                    case 5 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/testberichte/smartphone-testberichte/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/testberichte/tablet-testberichte/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/testberichte/ultrabooks-testberichte/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/testberichte/prozessoren-testberichte/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/testberichte/grafikkarten-testberichte/");
                                break;
                        }
                     break;
                    case 6 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/top20/smartphones/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/top20/tablets/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/top20/ultrabooks/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/top20/prozessoren/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/top20/grafikkarten/");
                                break;
                        }
 break;
                    case 7 :
                        switch (i1) {
                            case 0:
                                webView.loadUrl("http://pixelay.com/wallpaper/autos/");
                                break;
                            case 1:
                                webView.loadUrl("http://pixelay.com/wallpaper/natur/");
                                break;
                            case 2:
                                webView.loadUrl("http://pixelay.com/wallpaper/pflanzen/");
                                break;
                            case 3:
                                webView.loadUrl("http://pixelay.com/wallpaper/landschaften/");
                                break;
                            case 4:
                                webView.loadUrl("http://pixelay.com/wallpaper/tiere/");
                                break;
                            case 5:
                                webView.loadUrl("http://pixelay.com/wallpaper/stadtansichten/");
                                break;
                            case 6:
                                webView.loadUrl("http://pixelay.com/wallpaper/struktur/");
                                break;
                            case 7:
                                webView.loadUrl("http://pixelay.com/wallpaper/technik/");
                                break;
                        }
                    break;
                    case 8 :
                        webView.loadUrl("http://pixelay.com/news/");
                        break;
                }

                return false;
            }
        });
        expandableList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
            @Override
            public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
                //Log.d("DEBUG", "heading clicked");
                switch (i) {
                    case 0:
                        webView.loadUrl("http://pixelay.com/");
                        break;

                    case 1:
                        webView.loadUrl("http://pixelay.com/news/");
                        break;

                    case 2:
                        webView.loadUrl("http://pixelay.com/apple/");
                        break;

                    case 3:
                        webView.loadUrl("http://pixelay.com/android/");
                        break;

                    case 4:
                        webView.loadUrl("http://pixelay.com/windows/");
                        break;

                    case 5:
                        webView.loadUrl("http://pixelay.com/testberichte/");
                        break;

                    case 6:
                        webView.loadUrl("http://pixelay.com/top20/");
                        break;

                    case 7:
                        webView.loadUrl("http://pixelay.com/wallpaper/");
                        break;

                    case 8:
                        webView.loadUrl("http://pixelay.com/ueber-uns/");
                        break;

                }


                return false;

            }
        });

您忘记在
可扩展列表中添加
break
语句。setOnChildClickListener

以下是一些您忘记添加中断的
案例

  • 案例2
  • 案例3
  • 案例4
  • 案例5

  • 案例6

  • 案例7

在检查“
i
”值时,
情况3
情况4
情况5
情况6
情况7
没有中断语句。问题是在这些情况下,当它遍历
i1
时,如果
i1
与任何嵌套情况都不匹配,那么它将遍历下一个情况


因此,在每个嵌套的
开关盒之后放置
break
,这将解决您的问题。

调试您的代码,如果内部开关没有使用任何设置的子值,它将转到下一个例子。即使这样,您在那里的中断是针对内部开关的,而不是针对外部开关的。您是否检查了
i1
”值?如果是,它是否有值
!=4
?外壳2至7的外部开关缺少断路器clause@Nilu谢谢我改变了它,它成功了:)@ADM Iam在Android Studio上是新的,我不知道:/但现在我要做了。谢谢你的帮助me@SinanKara很高兴帮助你,不客气。很高兴我能帮助你。您可以接受答案或投票。:)