java - 如何在Android Studio(JAVA)中将int表达式(来自drawabale)转换为String表达式
问题描述
我想转换由此获得的 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
谢谢大家!
解决方案
您可以使用此函数返回带有资源名称的路径:
String path = getPath(R.drawable.icon);
public String getPath(int id) {
return Uri.parse("res/drawable/" + getResources().getResourceEntryName(id)).toString();
}
推荐阅读
- android - 如何在 ViewModel 中启动一个活动?
- apache-kafka - 如何通过指定主题名称在创建流表单模式注册表时保留 ksql 中的字段区分大小写
- azure - Azure 容器实例和容器的 Web 应用程序有什么区别?
- sql - 编辑当前查询以从 4 db 的 Picklist 中的一个数据库获取信息
- android - 如何解决 SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)
- python - 为什么if语句会影响私有属性的存在?
- angular - 如何使用角度的材质虚拟滚动以编程方式滚动到项目?
- java - 有没有办法在Spring-Boot java应用程序中使用host-IP作为主机通过不同的机器远程连接到redis服务器
- python - 比较不同长度的多个 pandas 列以访问最后一列
- python - 在 YouTube 上搜索并返回 Python 中的所有链接