【问题标题】:Access string values in Model Class访问模型类中的字符串值
【发布时间】:2019-07-13 18:39:12
【问题描述】:

我想访问模型类中的字符串值,然后我会将这些值传递给适配器,但它显示错误

尝试调用虚拟方法 android.content.res.Resources android.content.Context.getResources()' 在空对象引用上

public static List<CardModel> getObjectList() {

   List<CardModel> dataList = new ArrayList<>();
   int[] images = getImages();
   String[] desc = getdesc();
   //String [] desc = mcontext.getResources().getStringArray(R.array.my_string_array);

   for (int i = 0; i < images.length; i++) {
      CardModel nature = new CardModel();
      nature.setImgid(images[i]);
      nature.setTitle("Rabbana " + i);
      nature.setTvdesc(desc[i]);
      dataList.add(nature);
   }
   return dataList;
}



private static String[] getdesc() {
   Resources res =mcontext.getResources();
   String [] desc = res.getStringArray(R.array.my_string_array);
   return desc;
}

【问题讨论】:

  • 你可以试试直接写这个 --> getResources().getStringArray(R.array.my_string_array); 而不是mcontext.getResources().getStringArray(R.array.my_string_array);
  • 请参阅此link。也许这对你有帮助
  • 如果我这样做,则会发生资源错误...无法解析符号 getResourse().@MashukKhan
  • 还是同样的问题..@MashukKhan

标签: android arrays string arraylist nullpointerexception


【解决方案1】:

检查您的变量 mcontext ,我猜它是导致崩溃的 null。

解决方案- 在适配器的构造函数中传递上下文并使用它来获取资源,如下所示

 public TestAdapter( Context context) {
    this.mContext = context;
}

【讨论】:

  • 我正在使用相同的方法。 @Shivam Yadav
  • @misbahkhan,您在适配器中发送的上下文可能无效。如果是片段,则检查是否添加了片段。
  • 解决了我的问题...我在主要活动中传递了上下文..@Shivam Yadav
  • 我在模型类中使用上下文,我想通过适配器访问。这是一个问题,因为当我在模型类中访问它时它返回空值。 @Shivam Yadav
  • 太棒了。 @misbahkhan
猜你喜欢
  • 1970-01-01
  • 2021-09-14
  • 2020-05-25
  • 2012-12-24
  • 2014-02-09
  • 2017-04-28
  • 2018-07-19
  • 2016-03-15
  • 1970-01-01
相关资源
最近更新 更多