Намерение обесценивается, Какая альтернатива? - PullRequest
0 голосов
/ 15 октября 2018

Я новый разработчик 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);
        }
    }

}

Снимок экрана: intent is strikethrough

Может быть, вы можете помочь мне с этим!

Редактировать новый снимок экрана, на котором я исправил элемент «Кликабельная не распознанная проблема».Fixed itemClickable.class

Спасибо!CG

1 Ответ

0 голосов
/ 15 октября 2018

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

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

enter image description here

...