android - 从 ListView fragment 中单击特定项目时如何使用 webview 打开 fragment 中的链接

标签 android listview android-fragments

我有一个带有带菜单项的抽屉导航的 Android 应用程序。此菜单包含多个 fragment 的条目。其中一个 fragment 有一个带有网站名称的 ListView 。我的目

到目前为止,我已经为带有 ListView 的 fragment 实现了这段代码

class AtlasListFragment extends android.support.v4.app.ListFragment implements AdapterView.OnItemClickListener {
@Override
public View onCreateView(LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.atlas_list_fragment, container, false);
    return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(),
            R.array.tut_titles, android.R.layout.simple_list_item_1);
    setListAdapter(adapter);
    getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
    Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT).show();
}}

下面是从抽屉导航启动 fragment 的代码

@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    android.support.v4.app.Fragment fragment = null;
    if (id == R.id.home) {
        fragment = frag;
     else if (id == R.id.settings) {
        fragment=new Settings();

    } else if (id == R.id.about_us) {
        fragment=new AboutUc();
    }
    else if(id == R.id.atlas){
        fragment = new AtlasListFragment();
    }
    else{

    }


    if (fragment!=null)
    {
        FragmentManager fragmentManager=getSupportFragmentManager();
        FragmentTransaction ft=fragmentManager.beginTransaction();

        ft.replace(R.id.fragmentview,fragment);
        ft.commit();
    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}

最佳答案

通过这种方法,你可以在你想要使用WebView布局的地方打开一个webview,并在你的activity中使用这种方法

public void openWebView(String url){   
webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl(url);
}

希望对你有用

关于android - 从 ListView fragment 中单击特定项目时如何使用 webview 打开 fragment 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50528213/

相关文章:

android - rsUnpackColor8888() 与 float4 convert_float4(char4 v) 的区别是什么 - Android/Renderscript

java - 广告未加载

asp.net - 从代码隐藏访问 ListView 项模板

listview - 带有空文本的 ListView 中的 ListItems

android - fragment 事务中 2 个 View 的动画

android - 自定义 ListView 不会被填充

android - BroadcastReceiver 在重启后延迟接收事件

ListView 的 Android notifyDataSetChanged() 不工作

android - picasso :2个 fragment 之间的共享元素过渡

android - 在 DialogFragment 中为 AlertDialog 膨胀自定义 View 时出现问题