[英]how to make a webview fragment i can inflate for multiple diff webpages
我有一个Web视图的布局。 我想使用项目单击和列表视图打开它。 列表视图具有各种网页。 列表视图也在其自己的活动中,称为下载。 我希望能够放大视图,但取决于单击项的位置,我想打开一个不同的网页,谢谢大家,我希望我能正确解释自己
我已经在case语句中的Switch(position)之后的项目单击上尝试过此操作。
LayoutInflater li = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
li.inflate(R.layout.webviewlayout, null);
DownloadWebNav.getSettings().setJavaScriptEnabled(true);
DownloadWebNav.loadUrl(LilliPutSdCardUrl);
您必须创建一个公共片段,该片段将在listview的itemclick上打开
在打开此片段后,请确保在列表视图的itemclick上替换片段时,必须将包含要加载的URL的一个字符串传递给setArguments()到webview中,而在片段的另一端,则必须获取getArguments(),这样您才能收到链接加载到webview中。
在片段onResume()中,您必须获取链接并继续在webview中加载
以下仅是作为refrance的示例
newsLs.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TrialNewsFragment mFragment = new TrialNewsFragment();
Bundle bundle = new Bundle();
Data mNewsData = (Data) parent.getItemAtPosition(position);
if (MainFragmentActivity.sDefSystemLanguage.equalsIgnoreCase("ar")) {
bundle.putString("news_desc", mNewsData.tDesc_ar);
bundle.putString("news_title", mNewsData.vTitle_ar);
} else {
bundle.putString("news_desc", mNewsData.tDesc_en);
bundle.putString("news_title", mNewsData.vTitle_en);
}
bundle.putString("news_start", mNewsData.tCreateDate);
bundle.putString("news_img", mNewsData.vLogo.original);
mFragment.setArguments(bundle);
((MainFragmentActivity) getActivity()).displayFragmentWithArg(mFragment);
}
});
一种将替代片段的示例方法。
public void displayFragmentWithArg(Fragment mFragment) {
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.addToBackStack("back");
transaction.replace(R.id.act_login_main_lContainer, mFragment).commit();
}
并在TrailnewsFragment onResume()中
Bundle args = getArguments();
if (args != null && args.containsKey("news_desc") && !args.equals(""))
tvNewsDesc.setText(args.getString("news_desc"));
if (args != null && args.containsKey("news_start") && !args.equals(""))
tvNewsStartDate.setText(UtilMethods.getFormatedDate(args.getString("news_start"), "yyyy-MM-dd hh:mm:ss", "dd MMM,yyyy"));
if (args != null && args.containsKey("news_title") && !args.equals(""))
tvNewsHeading.setText(args.getString("news_title"));
if (args != null && args.containsKey("news_img") && !args.equals("")) {
if (args.getString("news_img") != null && !args.getString("news_img").equals(""))
Picasso.with(getActivity()).load(args.getString("news_img")).placeholder(R.drawable.defaultimage).into(ivNewsImage);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.