单击ExpandableListView项时,我想用ActivityFragment替换WebView Fragmnet。
这是我的WebView片段:
View mview;
WebView view ;
ProgressDialog mProgress ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mview = inflater.inflate(R.layout.siteview,container, false);
Bundle bundle = getArguments();
String url = bundle.getString("url");
view = (WebView) mview.findViewById(R.id.webView1);
WebSettings settings = view.getSettings();
settings.setJavaScriptEnabled(true);
view.loadUrl(url);
view.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
return mview;
}
}
这是我的片段活动OnChildclick of Expendabels List
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment siteview = new siteview();
// Bundle bundle = new Bundle();
//setTitle(menutitles[position]);
// Click Jadval's Child
if (groupPosition == 2 & childPosition == 0){
mNav.toggleRightDrawer();
// bundle.putString("url", customHtml1.toString());
// siteview.setArguments(bundle);
transaction.replace(R.id.fram, siteview);
// Commit the transaction
}
else if (groupPosition == 2 & childPosition == 1 ){
mNav.toggleRightDrawer();
}
transaction.commit() ;
return false;
}
本准则不起作用。 问题出在哪儿? 请给我提示
答案 0 :(得分:0)
如果我没有错,你正在寻找,当你点击列表视图中的任何项目时,它必须打开特定的片段。为此你需要处理列表的位置。并在该特定位置设置一个特定的片段。 像
这样的东西switch(position)
{
case 0:
case 1:
}
and fragment class should be like this
public class SearchFragment extends Fragment {
WebView wv;
public SearchFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_search, container,
false);
wv=(WebView)rootView.findViewById(R.id.search_web);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://www.google.com");
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
return rootView;
}
}