android - 如何获取sqlite的数据并将其放入FragmentList并单击item

标签 android sqlite android-sqlite android-listfragment

我想要做的是从 sqlite 读取数据并将数据显示在 ListView 中。然后,当您单击该项目时,打开一个 Web View 以将用户发送到该 url。

我是ListFragment的扩展

这是我的数据库 sqlite,可以工作:

 private static final String DATABASE_CREATE = "create table "
            + TABLENAME + "("
            + ID + " integer primary key autoincrement, "
            + URL + " text not null, "
            + NAME + " text not null); ";

目前,我可以获取并显示 listfragment 中的名称,但我不知道如何才能通过该项目的 url 来打开 webview (在这段代码中,我没有实现该部分webView 的,因为我想首先可以将 url 传递给当前项目)。

这就是我正在尝试的:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        ViewGroup rootView = null;


            dataBase.getAllData();


            String[] name = new String[dataBase.getAllData().size()];
            String[] url = new String[dataBase.getAllData().size()];

            for (int i = 0; i < dataBase.getAllData().size(); i++) {
                name[i] = dataBase.getAllData().get(i).getName();
                url[i] = dataBase.getAllData().get(i).getUrl();
                Log.e("Total", name[i] + "" +url[i]);

                rootView = (ViewGroup) inflater.inflate(R.layout.fragment_listview, container, false);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.favourites, R.id.newspaperNameFavourite, name);
                setListAdapter(adapter);
                setRetainInstance(true);


                mAdView = (AdView) rootView.findViewById(R.id.adViewListFragment);
                adRequest = new AdRequest.Builder().build();
                mAdView.loadAd(adRequest);

            }
            return rootView;
    }

    @Override
    public void onListItemClick(ListView l, View view, int position, long id){
        ViewGroup viewg=(ViewGroup)view;
        TextView tv=(TextView)viewg.findViewById(R.id.newspaperNameFavourite);
        Toast.makeText(getActivity(), tv.getText().toString(), Toast.LENGTH_LONG).show();

    }

最佳答案

onListItemClick()方法中添加此代码:

字符串 url = "http://www.google.com"; Intent intent = new Intent(Intent.ACTION_VIEW); Intent.setData(Uri.parse(url)); startActivity( Intent );

就您而言:

TextView urlText = (TextView) viewg.findViewById(R.id.url); //实例化 Intent Intent.setData(Uri.parse(urlText.getText.toString()); startActivity( Intent );

关于android - 如何获取sqlite的数据并将其放入FragmentList并单击item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34956653/

相关文章:

android - Android应用程序中的深度链接

android - 比较Android中的两个声音

android - SQLiteAssetHelper 生成错误

android - SQLite 数据库不显示所有记录

android - 无法在 react native 项目中扩展 Zip

java - 单击按钮从 Android 中的 EditText 获取文本

linux - 在同一台服务器上安装多个 sqlite

php - 自动部署多应用程序的数据库结构

android - android sqlite中的一对多关系

android - 异步任务和 Sqlite