繁体   English   中英

如何制作一个webview片段,我可以为多个diff网页充气

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM