简体   繁体   English

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

[英]how to make a webview fragment i can inflate for multiple diff webpages

i have a web-View layout. 我有一个Web视图的布局。 and i want to open it using a on item click and a list view. 我想使用项目单击和列表视图打开它。 the list view has various web pages. 列表视图具有各种网页。 also the list view is in its own activity called downloads. 列表视图也在其自己的活动中,称为下载。 i want to be able to inflate the view but depending on position of on item click i would like a different web page to open thanks guys and i hope i explained my self properly 我希望能够放大视图,但取决于单击项的位置,我想打开一个不同的网页,谢谢大家,我希望我能正确解释自己

i have tried this on my on item click after Switch(position) in the case statement. 我已经在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);

You have to create one common fragment which will open on itemclick of listview 您必须创建一个公共片段,该片段将在listview的itemclick上打开

After this open that fragment on itemclick of listview make sure when you replace the fragment you have to pass one string that contains url for load into webview with setArguments() and in otherside in fragment you have to getArguments() so you will receive link for load into webview. 在打开此片段后,请确保在列表视图的itemclick上替换片段时,必须将包含要加载的URL的一个字符串传递给setArguments()到webview中,而在片段的另一端,则必须获取getArguments(),这样您才能收到链接加载到webview中。

in fragment onResume() you have to get link and proceed to load in webview 在片段onResume()中,您必须获取链接并继续在webview中加载

Following is just example as refrance 以下仅是作为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);
            }
        });

One sample method which will replace fragment. 一种将替代片段的示例方法。

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();
}

And in TrailnewsFragment onResume() 并在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