繁体   English   中英

如何在 Android Studio (JAVA) 中将 int 表达式(来自 drawabale)转换为 String 表达式

[英]How can I convert an int expression (from drawabale) into String expression in Android Studio (JAVA)

我想转换由此获得的 int 表达式:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_screen_image);
    imageViewFullScreen = findViewById(R.id.imageView_fullscreen);
    textViewFullScreen = findViewById(R.id.textView_fullscreen);
    try
    {
        Bundle bundle = getIntent().getExtras();
        imageId = bundle.getInt("imageId");
    }

变成一个字符串表达式,但是当我尝试这样做时,它不起作用。

我尝试将它放在 TextView 中,使用 int 表达式我有正确的东西,但使用 String 我只有数字而不是文本。

我想这样做来削减我感兴趣的 String 的一部分。

有什么解决方案可以让我想要的东西通过字符串传递? 或正确转换我的 int 表达式?

我试着这样做:

imageViewFullScreen.setImageResource(imageId);
        textViewFullScreen.setText("");
        textViewFullScreen.append("Ref : " + imageId);

我想要: res/drawable/cata_01jpg ,但我有: 2131099745

谢谢大家!

您拥有的数字是资源标识符。 您可以使用资源 class 来查找有关它所引用的资源的信息。 这个 class 有几种方法,我不知道哪一种对你最有用,但getResourceEntryName听起来很接近。

String name = getResources().getResourceEntryName(imageId);

您可以使用此 function 来返回带有资源名称的路径:

    String path = getPath(R.drawable.icon);
    public String getPath(int id) {
    return Uri.parse("res/drawable/" + getResources().getResourceEntryName(id)).toString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM