尝试将资源字符串名称附加到表达式但无法继续运行。我的代码如下:erorr专门出现在createFromResource
方法的参数R.array.+ precedingDigitsIdentifier
中。任何解决方法?
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 :(得分:1)
您无法连接变量名称并期望它可以正常工作。相反,您需要使用不同的方法:
ArrayAdapter.createFromResource(getActivity(),
getResources().getIdentifier(precedingDigitsIdentifier, "drawable", getPackageName()),
android.R.layout.simple_spinner_item);
这将通过查找获取资源ID,而不是使用Java标识符,这允许您使用作为串联结果的String。