android 意图被贬低,还有什么选择?

k75qkfdt  于 2024-01-04  发布在  Android
关注(0)|答案(2)|浏览(205)

我是新的Android开发人员,我正在使用minSdkVersion 22在SDK 28中构建应用程序。
使用来自另一个应用程序的代码片段,我现在收到警告消息:“android.content.intent”已弃用。*
我发现了一些关于 getIntent() 用法的线程,但我在我的案例中创建了一个新的Intent,在一个RecommenderViewAdapter中打开一个新的Activity。
你可以看看我的代码或下面的截图:

  1. package com.example.chris.projectartifact.bb_Items;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.support.v7.widget.CardView;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11. import com.example.chris.projectartifact.R;
  12. import java.util.List;
  13. public class ItemRViewAdapter extends RecyclerView.Adapter<ItemRViewAdapter.MyViewHolder> {
  14. private Context mContext;
  15. private List<Items> mData;
  16. public ItemRViewAdapter(Context mContext, List<Items> mData) {
  17. this.mContext = mContext;
  18. this.mData = mData;
  19. }
  20. @Override
  21. public ItemRViewAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  22. View view;
  23. LayoutInflater mInflater = LayoutInflater.from(mContext); //TODO what does that?
  24. view = mInflater.inflate(R.layout.layout_cardview_cards,parent,false);
  25. return new ItemRViewAdapter.MyViewHolder(view);
  26. }
  27. public void onBindViewHolder(ItemRViewAdapter.MyViewHolder holder, final int position) {
  28. holder.ivSpell_img.setImageResource(mData.get(position).getItemImage());
  29. holder.tvSpell_title.setText(mData.get(position).getItemTitle());
  30. holder.cardView_spells_id.setOnClickListener(new View.OnClickListener() {
  31. @Override
  32. public void onClick(View view) {
  33. // This is where my problem is..!
  34. Intent intent = new Intent(mContext, itemClickable.class);
  35. intent.putExtra("itemName", mData.get(position).getItemTitle());
  36. mContext.startActivity(intent);
  37. }
  38. });
  39. }
  40. @Override
  41. public int getItemCount() {
  42. return mData.size();
  43. }
  44. public static class MyViewHolder extends RecyclerView.ViewHolder{
  45. TextView tvSpell_title;
  46. CardView cardView_spells_id;
  47. ImageView ivSpell_img;
  48. public MyViewHolder(View itemView) {
  49. super(itemView);
  50. tvSpell_title = itemView.findViewById(R.id.tvSpell_title);
  51. ivSpell_img = itemView.findViewById(R.id.ivSpell_img);
  52. cardView_spells_id = itemView.findViewById(R.id.cardView_spells_id);
  53. }
  54. }
  55. }

字符串
截图:x1c 0d1x
或许你能帮我!
编辑新的屏幕截图,我修复了itemClickable无法识别的问题。

谢谢!CG

qmb5sa22

qmb5sa221#

Intent未被弃用,问题出在您的itemClickable.class上,因为它未被识别。
要么是您以某种方式启用了额外的警告,将Intent标识为已弃用,要么是您的计算机上确实存在堆栈。


的数据

wb1gzix0

wb1gzix02#

我找到了只使用intent的解决方案:

  1. override fun onCreate(savedInstanceState: Bundle?) {
  2. super.onCreate(savedInstanceState)
  3. intent = intent // Yeah, just use `intent` XD
  4. setContent {

字符串
不再需要getIntent()

相关问题