0

我是新的 android 开发人员,我正在使用 minSdkVersion 22 在 SDK 28 中构建应用程序。

使用来自另一个应用程序的代码片段,我现在收到警告消息: 'android.content.intent' 已弃用。

我发现了一些关于getIntent()使用的线程,但我在 RecyclerViewAdapter 中创建了一个新的意图来打开一个新的 Activity。

您可以在下面查看我的代码或屏幕截图:

package com.example.chris.projectartifact.bb_Items;

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.chris.projectartifact.R;

import java.util.List;

public class ItemRViewAdapter extends RecyclerView.Adapter<ItemRViewAdapter.MyViewHolder> {

    private Context mContext;
    private List<Items> mData;

    public ItemRViewAdapter(Context mContext, List<Items> mData) {
        this.mContext = mContext;
        this.mData = mData;
    }


    @Override
    public ItemRViewAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
        LayoutInflater mInflater = LayoutInflater.from(mContext); //TODO what does that?
        view = mInflater.inflate(R.layout.layout_cardview_cards,parent,false);
        return new ItemRViewAdapter.MyViewHolder(view);
    }

    public void onBindViewHolder(ItemRViewAdapter.MyViewHolder holder, final int position) {
        holder.ivSpell_img.setImageResource(mData.get(position).getItemImage());
        holder.tvSpell_title.setText(mData.get(position).getItemTitle());

        holder.cardView_spells_id.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // This is where my problem is..!
                Intent intent = new Intent(mContext, itemClickable.class);     
                intent.putExtra("itemName", mData.get(position).getItemTitle());
                mContext.startActivity(intent);
            }
        });

    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public static class MyViewHolder extends RecyclerView.ViewHolder{
        TextView tvSpell_title;
        CardView cardView_spells_id;
        ImageView ivSpell_img;

        public MyViewHolder(View itemView) {
            super(itemView);

            tvSpell_title = itemView.findViewById(R.id.tvSpell_title);
            ivSpell_img = itemView.findViewById(R.id.ivSpell_img);

            cardView_spells_id = itemView.findViewById(R.id.cardView_spells_id);
        }
    }

}

截屏: 意图是删除线

也许你可以帮助我!

编辑我修复 itemClickable 无法识别问题的新屏幕截图。 修复 itemClickable.class

谢谢!CG

4

1 回答 1

0

Intent未被弃用,问题出在您的问题上,因为itemClickable.class它未被识别。

要么您以某种方式启用了将 Intent 标识为已弃用的额外警告,要么您的机器上确实存在某些问题。

在此处输入图像描述

于 2018-10-15T06:24:01.583 回答