【问题标题】:Android: Relate 2 spinner/ variable to string-arrayAndroid:将 2 spinner/ 变量关联到字符串数组
【发布时间】:2013-10-04 22:57:21
【问题描述】:

我想做一个 2 微调器活动,第二个微调器依赖于第一个微调器,类似于州/城市示例。我用字符串数组填充微调器,所以这是我的

字符串.xml

 <string-array name="Jornadas">
        <item >1</item>
        <item >2</item>
        <item >3</item>
        <item >4</item>
        <item >5</item>

</string-array>

<string-array name="partidosj1">
            <item >c11</item>
            <item >c12</item>
            <item >c15</item>
            <item >c13</item>
    </string-array>
<string-array name="partidosj2">
            <item >c1</item>
            <item >c2</item>
            <item >c5</item>
            <item >c3</item>
    </string-array>

//and so on....

这是我的 oncreate

 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


Spinner jornadas = (Spinner) findViewById(R.id.spinner1);
Spinner partidos = (Spinner) findViewById(R.id.spinner2);

ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this, R.array.Jornadas, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
jornadas.setAdapter(adapter1);

jornadas.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
    String a= "partidosj "+pos;

    }

   });
 ArrayAdapter adapter2 = ArrayAdapter.createFromResource(this,R.array.a, android.R.layout.simple_spinner_item); 

 //Do whatever
}}

所以字符串“a”与我要填充第二个微调器的字符串数组具有相同的名称,但我不能在数组适配器上引用它,因为它必须是一个 int 变量。有什么方法可以将“a”变量转换为正确的字符串数组资源?

非常感谢!

【问题讨论】:

    标签: android arrays string spinner android-spinner


    【解决方案1】:

    你去吧:

    int arrayId = getResources().getIdentifier(a, "array", getPackageName());
    

    【讨论】:

    • 我必须在哪里插入这一行到我的代码中?我刚刚在 a 变量之后插入,当我定义第二个微调器适配器时,我必须像这样放置 arrayId? ArrayAdapter.createFromResource(this,arrayId, android.R.layout.simple_spinner_item);
    • 是的,R.array.partidosj1 的值存储在arrayId 中。照常使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2020-09-20
    • 1970-01-01
    • 2018-01-12
    相关资源
    最近更新 更多