【发布时间】:2017-12-21 10:40:05
【问题描述】:
您好,我有一个与开关盒功能一起使用的 Navigationmenu。标头组组件用“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;
}
});
....
【问题讨论】:
-
调试你的代码,如果没有设置的子值被内部开关采用,它将进入下一个案例。即便如此,你在那里的休息时间是内部开关,而不是外部开关
-
你检查过
i1'的值吗?如果有,它是否有值!= 4? -
case(s) 2 到 7 的外部开关缺少 break 子句
-
@Nilu 谢谢!我改变了它,它工作了:)
-
@ADM 我是 Android Studio 的新手,不知道:/ 但现在我会这样做。谢谢你帮助我
标签: java android webview navigation