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