Java 如何以编程方式基于文件名设置可绘制文件

Java 如何以编程方式基于文件名设置可绘制文件,java,android,android-drawable,Java,Android,Android Drawable,我有一个国家(字符串)数组-(来自一个Web服务)以及相应的可提取列表,它们是它们的标志-(在可提取文件夹中) 可提取的标签为“佛得角”或“加拿大”,但当名称从Web服务中删除时,它们会被删除为“佛得角”或“加拿大” 当我调用webservice时,我会进行小写转换并替换一些字符,如下面的代码所示: String lowerCaseName = countryNameInArray.countryName.toLowerCase(); String replacedCountryName = l

我有一个国家(字符串)数组-(来自一个Web服务)以及相应的可提取列表,它们是它们的标志-(在可提取文件夹中)

可提取的标签为“佛得角”或“加拿大”,但当名称从Web服务中删除时,它们会被删除为“佛得角”或“加拿大”

当我调用webservice时,我会进行小写转换并替换一些字符,如下面的代码所示:

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")