在android中动态设置微调器的位置?

时间:2012-11-09 11:44:13

标签: android spinner android-spinner

我正在开发一个应用程序,我需要根据以前的屏幕值动态设置微调器值。我的代码......

Main.java。

String[] values = {"All","Only Walk-in","Only Phone","Only Web","Walkin-phone","Walkin-web","phone-web"};

 /*ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,apttypes);
    spinner.setAdapter(adapter);*/

但在这里我想要的是从前一个屏幕我得到一些价值(像旋转器位置)。基于我需要设置微调器值来显示...

如果我得到值= 0表示

,则来自上一屏幕

我需要设置微调器值以从顶部的数值数组中显示“全部”。

如果我得到值= 5意味着,

我想设置微调器值以显示为“Walkin-web”

我该怎么做?任何人都可以帮助我...

6 个答案:

答案 0 :(得分:8)

使用您用于启动它的Activity中的额外内容,传递上一个Intent中的值。然后,当您阅读值调用

int position = getIntent().getIntExtra( "name", defaultValue );
spinner.setSelection( position );

将微调器移动到您选择的索引。

答案 1 :(得分:3)

使用以下数组代码并每次创建新的数组适配器

 String[] str=new String[maxsize-4];

答案 2 :(得分:1)

you can implement onItemClick event on Spinner like this and setSelection(position)

        //Spinner OnItemClick Event here
        payfeeTabStudentNameSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                payfeeTabStudentNameSpinner.setSelection(position);
                spinnerSelectedValue = parent.getItemAtPosition(position).toString();
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
            }
        });

答案 3 :(得分:0)

在你的第一个活动A.java里面

public static String Position = YOUR_SPINNER1.getSelectedItem().toString();

在你的第二个活动B.java里面

    if(A.Position.equals("0")){
//Set your adapter accordingly
 }else if(A.Position.equals("1")){
//Set your adapter accordingly
 }

答案 4 :(得分:0)

您可以使用以下代码指定微调器的位置..

 Spinner s1;
 -----------
 -----------
 int position=valueFromPrevious;
 s1.setSelection(position);
 -----------
 -----------

答案 5 :(得分:0)

使用Extras传递上一个活动的值,然后当您想在当前活动中使用它时,请按照以下步骤操作:

如果你得到String值,那么通过parseInt方法将它转换为整数...

String strtext4 = getIntent().getStringExtra("qualification");

然后

int position = Integer.parseInt(strtext4);

之后只需将其设置为您的微调器

qualificationspinner.setSelection(position);
相关问题