gpt4 book ai didi

java - 如何制作一个可以为多个差异网页充气的 WebView fragment

转载 作者:行者123 更新时间:2023-12-01 10:15:56 25 4
gpt4 key购买 nike

我有一个 WebView 布局。我想使用项目上的单击和 ListView 打开它。 ListView 有各种网页。 ListView 也有其自己的 Activity ,称为下载。我希望能够扩大 View ,但根据项目点击的位置,我想要打开一个不同的网页,谢谢大家,我希望我正确地解释了我自己

我已经在 case 语句中的 Switch(position) 之后的 on item click 上尝试过此操作。

  LayoutInflater li = (LayoutInflater)     
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

li.inflate(R.layout.webviewlayout, null);

DownloadWebNav.getSettings().setJavaScriptEnabled(true);
DownloadWebNav.loadUrl(LilliPutSdCardUrl);

最佳答案

您必须创建一个公共(public) fragment ,该 fragment 将在 ListView 的 itemclick 上打开

在此之后,在 ListView 的 itemclick 上打开该 fragment ,确保替换该 fragment 时,必须传递一个包含 url 的字符串以加载到 Web View 中使用 setArguments() ,在 fragment 中的其他地方,您必须使用 getArguments() ,这样您将收到加载到 webview 中的链接。

在 fragment onResume() 中,您必须获取链接并继续加载到 webview

以下只是作为引用的示例

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

一个将替换 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();
}

并在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);
}

关于java - 如何制作一个可以为多个差异网页充气的 WebView fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35889741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com