Намерение обесценивается, Какая альтернатива?

Я новый разработчик Android, и я строю приложение в SDK 28 с minSdkVersion 22.

Используя фрагмент кода из другого приложения, я теперь получаю предупреждение:"android.content.intent" устарела.

Я нашел некоторые темы, касающиеся использования getIntent(), но я создаю новое намерение в моем случае в RecyclerViewAdapter, чтобы открыть новое действие.

Вы можете проверить мой код или скриншот ниже:

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.class

Спасибо! CG

1 ответ

Намерение не устарело, проблема с вашим itemClickable.class потому что это не признается.

Либо вы как-то включили дополнительные предупреждения, которые определяют намерение как устаревшее, либо что-то действительно складывается на вашем компьютере.

Другие вопросы по тегам