我有可扩展的列表视图,每次单击一个孩子时,我都会根据 ChildPosition 确定要打开的内容。然而问题是 ChildPosition 为“headre row”重置。例如,我有标题 1 和标题 2,两个标题都有 4 个孩子。Child1 在 header 1 下的位置为 0,child1 在 header 2 下的位置也为 0。
这会破坏我的代码,因为我总是将 ChildPosition 作为额外内容传递给下一个活动,并且根据该 int 打开不同的 WebView。这是代码:
通过额外:
expListView.setOnChildClickListener(new OnChildClickListener(){
@Override
public boolean onChildClick(ExpandableListView arg0, View arg1,
int arg2, int childPosition, long arg4) {
//Starting intent
Intent scheudele = new Intent(MainActivity.this, Scheudele.class);
scheudele.putExtra("razred", childPosition);
startActivity(scheudele);
Log.i("TAG", "Position: " + childPosition);
return false;
}
});
使用该额外加载 url:
public void getWebView(){
razredData = getIntent();
int position = razredData.getIntExtra("razred", 0);
String urlToLoad = null;
switch (position){
case 0:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/16515/0/0/1";
break;
case 1:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/16520/0/0/1";
break;
case 2:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/16516/0/0/1";
break;
case 3:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/16517/0/0/1";
break;
case 4:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/16518/0/0/1";
break;
case 5:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18222/0/0/1";
break;
case 6:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18223/0/0/1";
break;
case 7:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18224/0/0/1";
break;
case 8:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18225/0/0/1";
break;
case 9:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18215/0/0/1";
break;
case 10:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18216/0/0/1";
break;
case 11:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18217/0/0/1";
break;
case 12:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18219/0/0/1";
break;
case 13:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18220/0/0/1";
break;
case 14:
urlToLoad = "https://www.easistent.com/urniki/izpis/263/18221/0/0/1";
break;
}
//Loading WebView URL
webView.loadUrl(urlToLoad);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
所以,正如您已经可以想象的那样;如果我单击 Header 1 下的子项,则会显示正确的 url,但是在我开始单击 Header 2 下的子项后,它们的位置会重置为 0,并再次显示“case 0”url。我该如何解决?