单击CardView时打开链接

时间:2017-07-25 18:14:28

标签: android android-recyclerview recycler-adapter

我的应用程序使用AsyncTask从WebAPI获取数据并在Recycler视图中显示它们。

我打算在点击手机上安装的浏览器中的卡片视图时打开相应的链接。

我尝试了所有提到的解决方案,但我的应用似乎总是崩溃。

如果我使用sendBroadcast而不做任何事情。

我的循环器视图适配器代码:

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    final News news = listnews.get(position);

    holder.tvTitle.setText(news.getTitle());
    holder.tvDesc.setText(news.getDescription());

    Picasso.with(getContext()).load(news.getUrlToImage()).into(holder.ivNews);
    holder.newsLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(news.getUrl()));
            context.startActivity(intent);
        }
    });
}

该应用程序正常工作并加载所有新闻项目,但当我点击新闻项目时,它会因停止响应的消息而崩溃。

1 个答案:

答案 0 :(得分:1)

您应该添加此行intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

如下: -

@Override
    public void onClick(View view) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(news.getUrl()));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }