Java 如何以编程方式基于文件名设置可绘制文件
我有一个国家(字符串)数组-(来自一个Web服务)以及相应的可提取列表,它们是它们的标志-(在可提取文件夹中) 可提取的标签为“佛得角”或“加拿大”,但当名称从Web服务中删除时,它们会被删除为“佛得角”或“加拿大” 当我调用webservice时,我会进行小写转换并替换一些字符,如下面的代码所示:Java 如何以编程方式基于文件名设置可绘制文件,java,android,android-drawable,Java,Android,Android Drawable,我有一个国家(字符串)数组-(来自一个Web服务)以及相应的可提取列表,它们是它们的标志-(在可提取文件夹中) 可提取的标签为“佛得角”或“加拿大”,但当名称从Web服务中删除时,它们会被删除为“佛得角”或“加拿大” 当我调用webservice时,我会进行小写转换并替换一些字符,如下面的代码所示: String lowerCaseName = countryNameInArray.countryName.toLowerCase(); String replacedCountryName = l
String lowerCaseName = countryNameInArray.countryName.toLowerCase();
String replacedCountryName = lowerCaseName.replaceAll(" ", "_");
我的想法是,我可以知道如何设置
R.drawable.replacedCountryName
但显然它不能接受字符串,因为它需要int
编辑:
public View getCustomView(int position, View convertView, ViewGroup parent) {
countries = res.getStringArray(R.array.countries);
/********** Inflate spinner_rows.xml file for each row ( Defined below ) ************/
View row = inflater.inflate(R.layout.country_drop_down_rows, parent, false);
/***** Get each Model object from Arraylist ********/
tempValues = null;
tempValues = (countryDropDownItem) data.get(position);
TextView label = (TextView) row.findViewById(R.id.spinner_country_textview);
ImageView country = (ImageView) row.findViewById(R.id.spinner_county_flag_imageview);
if (position == 0) {
// Default selected Spinner item
label.setText("South Africa"); //get the country text
country.setImageResource(R.drawable.south_africa);
} else {
String lowerCaseName = countries.toString().toLowerCase();
String replacedCountryName = lowerCaseName.replaceAll(" ", "_");
// Set values for spinner each row
label.setText(tempValues.countryName); //get the country text
country.setImageResource(res.getIdentifier(replacedCountryName, "drawable", "com.app.app" ));
}
return row;
}
有人知道我该怎么做吗
谢谢试试这个:
ImageView iw= (ImageView)findViewById(R.id.imageView1);
int resID = getResources().getIdentifier(drawableName, "drawable", getPackageName());
iw.setImageResource(resID);
drawableName是您的文件/图像名,请尝试存储在/src/asset/image.png中
ImageView iw= (ImageView)findViewById(R.id.imageView1);
int resID = getResources().getIdentifier(drawableName, "drawable", getPackageName());
iw.setImageResource(resID);
getResources().getIdentifier(
"imagename", "drawable", "com.package.application")
drawableName是您的文件/图像名,请尝试存储在/src/asset/image.png中谢谢,我已经尝试过了,但由于某些原因,它没有设置图像。我已经添加了代码,我正在使用的问题,因为它是在我的应用程序。。。它被用在纺纱机上,没有设置图像,但是名字在磨坊里工作得很好。我试过这个,但出于某种原因,它没有设置图像。我已经添加了代码,我正在使用的问题,因为它是在我的应用程序。。。它被用在纺纱机上,没有设置图像,但是名字在磨坊里工作得很好。我试过这个,但出于某种原因,它没有设置图像。我已经添加了代码,我正在使用的问题,因为它是在我的应用程序。。。它被用在纺纱机上,没有设置图像,但是名字在磨坊里工作得很好。我试过这个,但出于某种原因,它没有设置图像。我已经添加了代码,我正在使用的问题,因为它是在我的应用程序。。。它在微调器中使用,不设置图像,但名称工作正常
getResources().getIdentifier(
"imagename", "drawable", "com.package.application")