2015-06-22 34 views
0

我试图将资源字符串名称附加到表达式,但无法继续。我的代码如下:错误发生在createFromResource方法的参数R.array.+ precedingDigitsIdentifier中。任何解决方法?android将字符串值名称连接到表达式

public void createPrecedingDigitsSpinner(String selectedCountry){ 

     String selectedCntry =selectedCountry.toLowerCase(); 

     /**confirm that value of this 
     * country exist in countries.xml**/ 
     ArrayAdapter<CharSequence> adapter; 
     String precedingDigitsIdentifier = selectedCntry + "_preceding_digits"; 

     try{ 
      ArrayAdapter.createFromResource(getActivity(),*R.array.+ precedingDigitsIdentifier*, 
        android.R.layout.simple_spinner_item); 
     }catch (Resources.NotFoundException e){ 


      CharSequence text = "the selected country contains no preceding digits data try another time"; 
    Toast toast = Toast.makeText(context, text, duration); 
      toast.show(); 

     } 
    } 
+0

你得到什么错误? – Paradox

+0

在代码中,我看到* R.array而不是“R.array – Paradox

回答

1

您不能连接变量名称并期望它工作。相反,你需要使用不同的方法:

ArrayAdapter.createFromResource(getActivity(), 
    getResources().getIdentifier(precedingDigitsIdentifier, "drawable", getPackageName()), 
    android.R.layout.simple_spinner_item); 

这将让通过查找资源ID,而不是使用Java标识符,它可以让你用一个字符串,是一个串联的结果。

+0

非常感谢。 –

相关问题