android将字符串值名称连接到表达式

时间:2015-06-22 17:21:38

标签: java android

尝试将资源字符串名称附加到表达式但无法继续运行。我的代码如下: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();

        }
    }

1 个答案:

答案 0 :(得分:1)

您无法连接变量名称并期望它可以正常工作。相反,您需要使用不同的方法:

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

这将通过查找获取资源ID,而不是使用Java标识符,这允许您使用作为串联结果的String。