2016-07-12 22 views
-1

私はeditTextを持っており、スピナーを開くためにsetOnFocusChangeListenerを設定しました。 スピナーから項目を選択すると、選択した項目が同じ編集テキストに表示されます。editTextFocusChangeのテキストを編集するためにスピナーの選択項目を設定する方法 - Android

以下は私が試したコードです。

List<String> tal = new ArrayList<String>(); 
     tal.add("1"); 
     tal.add("2"); 
     tal.add("3"); 
     tal.add("4"); 
     tal.add("5"); 

     ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, tal); 
     dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinner.setAdapter(dataAdapter); 

    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 

       @Override 
       public void onFocusChange(View arg0, boolean hasFocus) { 
        // TODO Auto-generated method stub 
        if(hasFocus){ 
         spinner.performClick(); 

        } 
       } 
      }); 
      editText.setText(spinner.getSelectedItem().toString()); //this is taking the first value of the spinner by default. 

のXml:

<EditText 
     android:hint="Select A Value" 
     android:id="@+id/editText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/rounded_edittext" 
     android:layout_weight="0.05" 
     android:singleLine="true"/> 

<Spinner android:visibility="gone" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/spinner" /> 
+1

[AndroidでonItemSelectedを使用するにはどうすればいいですか?](http://stackoverflow.com/questions/20151414/how-can-i-use-onitemselected-in-android) –

答えて

4

あなたはこのようなコードを使用することができます。私はあなたのためにやりました..

OnItemSelectedListenerは、Androidのスピナーでのみ使用できます。 Red more from Android Developers。幸運..

+0

ありがとうコードのほうがずっとですしかし、私はあなたが選択が行われた後に非表示にするためにスピンナの可視性を設定し、それがedittextに反映されると思います。 – ASN

+1

「spinner.setVisibility(View.GONE);」を使用して非表示にすることができます。 if(hasFocus){ spinner.setVisibility(View.VISIBLE);のほかの部分で使用できます。 } else {spinner.setVisibility(View.GONE);} –

関連する問題