1

以前の画面値に基づいてスピナー値を動的に設定する必要があるアプリを開発しています。私のコード...

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」として表示するように設定したい

どうやってやるの。誰かがこれで私を助けることができます...

4

6 に答える 6

9

Activity起動に使用するエクストラを使用して、前の値を渡しIntentます。次に、バリューコールを読んだら

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

これにより、スピナーが選択したインデックスに移動します。

于 2012-11-09T11:50:06.253 に答える
3

次のアレイコードを使用して、毎回新しいアレイアダプタを作成します

 String[] str=new String[maxsize-4];
于 2012-11-09T11:56:26.210 に答える
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
            }
        });
于 2012-11-09T11:50:12.450 に答える
0

最初のアクティビティの内部A.java

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

2番目のアクティビティの内部B.java

    if(A.Position.equals("0")){
//Set your adapter accordingly
 }else if(A.Position.equals("1")){
//Set your adapter accordingly
 }
于 2012-11-09T11:52:52.803 に答える
0

次のコードを使用して、スピナーの位置を割り当てることができます。

 Spinner s1;
 -----------
 -----------
 int position=valueFromPrevious;
 s1.setSelection(position);
 -----------
 -----------
于 2012-11-09T11:57:10.310 に答える
0

Extrasを使用して前のアクティビティの値を渡し、現在のアクティビティで使用する場合は、次の手順に従います。

文字列値を取得した場合は、parseIntメソッドを使用して整数に型キャストします。

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

それから

int position = Integer.parseInt(strtext4);

この後、スピナーに設定するだけです

qualificationspinner.setSelection(position);
于 2015-10-15T09:39:19.747 に答える