簡體   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