0
  • 最佳答案
    根据上面的name,拼接出完整的图片名字,比如
    ic_name1
    也就是,src = ic_ + name = ic_name1
    //R.mipmap ,R.drawable都是可以的。
    val field = R.drawable::class.java.getDeclaredField(src)
    val resId = field.getInt(R.drawable::class.java)
    if (resId != 0) {
     val drawable:Drawable  = ContextCompat.getDrawable(context, resId)
    }
    
    1139423796017500160  评论     打赏       断点
    • 拉大锯  回复 @断点
      巧不巧,我看到我们的代码里有就,我做完核酸回来,抠一篇文章出来,哈哈。
      拉大锯 2022-08-15 16:13   回复 1153952789488054272
    • 断点  回复 @拉大锯
      准备投币
      断点 2022-08-15 18:10   回复 1139423796017500160
    • Cstri  回复 @断点
      嗯,这种写出来的最好了
      Cstri 2022-08-15 18:24   回复 1342082010843308032
  • 用这个方法应该会比楼上提到的几种方法更加简单


    context.getResources().getIdentifier()


    解释一下几个参数的取值吧


    name:资源名称(例如你 R.mipmap.ic_name1 中的 ic_name1)

    defType:可选的资源类型(color、dimen、drawable、id、string、style、layout)

    defPackage:一般填自己应用的包名,即 context.getPackageName()



    1204736502274318336  评论     打赏       A lonely cat
    • A lonely cat  回复 @A lonely cat
      如果还不会用的话 可以参考这个博客《Android 动态获取 Resource ID》:https://www.jianshu.com/p/5e69d1f9a802
      A lonely cat 2022-08-15 16:08   回复 1204736502274318336
    • Cstri  回复 @A lonely cat
      好的,多谢
      Cstri 2022-08-15 18:24   回复 1342082010843308032
    • Cstri  回复 @Cstri
      打赏
      Cstri 2022-08-15 18:25   回复 1342082010843308032
    • A lonely cat  回复 @Cstri
      谢谢
      A lonely cat 2022-08-15 18:27   回复 1204736502274318336
  • 反射>map表>switch case(when)

    1153952789488054272  评论     打赏       拉大锯
    • Cstri  回复 @拉大锯
      嗯,多谢提供思路
      Cstri 2022-08-15 18:25   回复 1342082010843308032
相关问题
_empty · Android
2019-10-20 23:51 592 2
application · Android
2019-11-05 00:26 743 2
三流废物 · android / 小白
2019-11-22 00:35 1026 5
豪豪好吗 · Android / GPS
2019-11-26 20:15 834 5
Jian · android
2019-11-28 01:51 580 2
2019-12-01 01:01 638 2
小陈学编程 · Android
2019-12-01 19:08 599 2
fkinggod · Android
2019-12-08 09:19 625 5
fkinggod · Android
2019-12-08 20:47 564 2
kissmyass · Android
2019-12-09 07:08 506 2
独一无二的名zi · Android
2019-12-30 06:48 382 2