【问题标题】:How to use a personalized spinner with programatically created array of Strings instead of a hard-coded string array of my strings.xml file?如何使用个性化微调器以编程方式创建字符串数组,而不是我的 strings.xml 文件的硬编码字符串数组?
【发布时间】:2011-10-13 00:00:33
【问题描述】:

我有一个个性化的微调器(它使用一个使用个性化 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,但我不能,因为我告诉了一些排队的原因

谁能帮帮我?

谢谢

【问题讨论】:

    标签: android android-layout spinner


    【解决方案1】:

    您不必像您引用的问题中使用的那样使用android.R.layout.spinner_item 等。您可以将自己的布局 xml 用于微调器项。

    你不必使用ArrayAdapter.createFromResource()你可以使用:

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

    【讨论】:

    • ..... spinner_item 是我自己的 custom_spinner_item ......我在问题中告诉过。而且我也尝试不使用 createFromResource 并且它失败了,我也在问题中告诉过.....请在回答之前阅读:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多