如何使用个性化的微调器以编程方式创建字符串数组而不是我的strings.xml文件的硬编码字符串数组?

时间:2011-07-25 23:02:39

标签: android android-layout spinner

我有一个个性化的微调器(使用一个使用个性化xml布局文件的适配器)

我想传递给他一个字符串数组,以编程方式创建,而不是传递strings.xml的典型硬编码字符串数组......但我不能!如果我尝试传递一个字符串数组,eclipse告诉我他需要从资源中引用一个项目(来自strings.xml的硬编码字符串数组)

我也尝试用另一种方式回答:Android: Create spinner programmatically from array

但这种方式对我来说不起作用,因为这种方式必须使用默认布局android.R.layout.simple_spinner_item,我不会使用该布局,我需要使用我的个性化布局(R.layout.spinner_layout) ,并且该方法不允许我为微调器使用个性化布局

这是我的代码:

String[] teams=(String[])Primera.getTeams().toArray();

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.teams_array, R.layout.spinner_layout);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
TeamsSpinner.setAdapter(adapter);
TeamsSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

我需要将R.array.teams_array改为teams,但我不能,因为我告诉某些阵容的原因

任何人都可以帮助我吗?

感谢

1 个答案:

答案 0 :(得分:2)

您不必使用android.R.layout.spinner_item等,就像您引用的问题中使用的内容一样。您可以将自己的布局xml用于微调项目。

您不必使用ArrayAdapter.createFromResource()即可使用:

ArrayAdapter adapter = new ArrayAdapter(this, R.id.your_custom_spinner_item, teams);