Намерение обесценивается, Какая альтернатива?
Я новый разработчик 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);
}
}
}
Может быть, вы можете помочь мне с этим!
Отредактируйте новый снимок экрана, на котором я исправил элемент "Кликабельный не распознанный вопрос"
Спасибо! CG
1 ответ
Намерение не устарело, проблема с вашим itemClickable.class
потому что это не признается.
Либо вы как-то включили дополнительные предупреждения, которые определяют намерение как устаревшее, либо что-то действительно складывается на вашем компьютере.