【问题标题】:Set the initial value of Android Spinner with some dynamic value使用一些动态值设置 Android Spinner 的初始值
【发布时间】:2011-01-19 13:06:48
【问题描述】:

我想将微调器的动态值设置为其初始值..

如果我设置了那个动态值,它不允许我更改为另一个值..

微调器的动态值是“AMEX”,如果我想将我的值更改为数组值中的“发现”我不能,

所以请给我解决方案这是我的代码..

spin_type = (Spinner) findViewById(R.id.Spinner_type);
                   adapter_type = new ArrayAdapter(Credit_Card_Main.this,android.R.layout.simple_spinner_item, array_type);
                   adapter_type.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                   spin_type.setAdapter(adapter_type);




spin_type.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1,
            int arg2, long arg3) {
                        spin_type.setSelection(adapter_type.getPosition(Signin.VALUE_type[selected_position]));

@Override
    public void onNothingSelected(AdapterView<?> arg0) {
        }
    });

谢谢

文卡特斯

【问题讨论】:

    标签: android-spinner


    【解决方案1】:

    你可以通过 spinner.setPrompt();method 设置微调器的初始值。所以只需通过它设置你的动态值

    【讨论】:

    • 提示与初始值不同。
    【解决方案2】:
        spin_type.setOnItemSelectedListener(new OnItemSelectedListener() {
    
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub
                for (int i = 0; i < array_type.length; i++) {
                    if (test_flag_type == false) {
                        if (array_type[i].toString().equalsIgnoreCase(Credit_Card_List.VALUE_type[Credit_Card_List.selectCard])) {
                            spin_type.setSelection(adapter_type.getPosition(Credit_Card_List.VALUE_type[Credit_Card_List.selectCard]));
                            test_flag_type = true;
                        }
                    }
                }
            }
    
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
            }
        });
    

    其中 array_type 包含信用卡名称列表。

    我在这里得到了 array_type[i] 中的第一个值 i=0,将其转换为字符串,然后将其与我从数据库中获得的值(即 Value_type..

    如果相同,它将进入 if 循环并将值设置在 "i" 的位置..

    如果设置了一次值,我将 test_flag_tyype 更改为 true,因此下次它不会进入循环,因为 test_flag_type 为 true..

    这就是我让它工作的方式..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 2015-10-22
      • 2014-03-17
      • 2021-12-30
      • 2020-10-31
      相关资源
      最近更新 更多