我是新的Android开发人员,我正在使用minSdkVersion 22在SDK 28中构建应用程序。
使用来自另一个应用程序的代码片段,我现在收到警告消息:“android.content.intent”已弃用。*
我发现了一些关于 getIntent() 用法的线程,但我在我的案例中创建了一个新的Intent,在一个RecommenderViewAdapter中打开一个新的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);
}
}
}
字符串
截图:x1c 0d1x
或许你能帮我!
编辑新的屏幕截图,我修复了itemClickable无法识别的问题。
谢谢!CG
2条答案
按热度按时间qmb5sa221#
Intent未被弃用,问题出在您的
itemClickable.class
上,因为它未被识别。要么是您以某种方式启用了额外的警告,将Intent标识为已弃用,要么是您的计算机上确实存在堆栈。
的数据
wb1gzix02#
我找到了只使用
intent
的解决方案:字符串
不再需要
getIntent()