处理过期的链接,同时从android应用程序中解析JSON

我正在设计一个解析json数组的Kotlin应用程序。 我已经成功完成了应用程序,但我被困在一个未成年人(在我的情况下主要)小故障。我已经成功地解析了数组,并在CardView显示所需的对象数组,并在卡片项被点击时打开浏览器中的链接。

问题

JSON包含某些已过期或不再使用的链接。 当用户点击特定的卡片 (带有任何华丽的信息或ImageView) 时,如何处理应用程序中的这种(过期的)链接 ? 我很喜欢Android的基础知识,并且仍然在学习如何在Android应用程序中设计Kotlin,并且尽我所能在互联网上搜索,但是我所有的努力都是一成不变的。

任何帮助受到热烈和良性的欢迎….

下面是我的代码片段( FeedViewHolder.kt ):

 class FeedViewHolder(itemView: View):RecyclerView.ViewHolder(itemView), View.OnClickListener,View.OnLongClickListener { var txtTitle: TextView var txtPubdate: TextView var txtContent: TextView private var itemClickListener: ItemClickListener? = null init { txtTitle = itemView.findViewById(R.id.txtTitle) as TextView txtPubdate = itemView.findViewById(R.id.txtPubdate) as TextView txtContent = itemView.findViewById(R.id.txtContent) as TextView itemView.setOnClickListener(this) itemView.setOnLongClickListener(this) } fun setItemClickListener(itemClickListener: ItemClickListener) { this.itemClickListener = itemClickListener } override fun onClick(v: View?) { itemClickListener!!.onClick(v, adapterPosition, false) } override fun onLongClick(v: View?): Boolean { itemClickListener!!.onClick(v, adapterPosition, true) return true } } 

适配器类

 class FeedAdapter(private val rssObject: RSSObject, private val mContext:Context): RecyclerView.Adapter<FeedViewHolder>() { private val inflater:LayoutInflater init { inflater = LayoutInflater.from(mContext) } override fun getItemCount(): Int { return rssObject.items.size } override fun onBindViewHolder(holder: FeedViewHolder, position: Int) { holder.txtTitle.text = rssObject.items[position].title holder.txtContent.text = rssObject.items[position].Content holder.txtPubdate.text = rssObject.items[position].pubDate holder.setItemClickListener(ItemClickListener { view, position, isLongClick -> if(!isLongClick){ val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(rssObject.items[position].link)) browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) mContext.startActivity(browserIntent) } }) } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): FeedViewHolder { val itemView = inflater.inflate(R.layout.row,parent,false) return FeedViewHolder(itemView) }