2016-12-02 7 views
1

MySQLの項目を含むスピナーを作成しました。 MySQLでは、同じ値を持つ2つのアイテムがあります。スピナーで私は2つの重複を持っています。 2番目のものを選択しようとすると、最初の位置(これは正しくありません)が得られます。最初の位置を選択すると、最初の位置が得られます(これは正しい)。Android Spinner重複した項目は、最初に重複した項目の位置のみを返します。

コード:私は2番目を選択しようとすると、

sp.setVisibility(View.VISIBLE); 

    //BIND 
    final ArrayAdapter adapter = new ArrayAdapter(c, android.R.layout.simple_spinner_dropdown_item, optochtenarray){ 
     @Override 
     public View getDropDownView(int position, View convertView, ViewGroup parent) { 
      View itemView = super.getDropDownView(position, convertView, parent); 

      if (position == mSelectedIndex) { 
       itemView.setBackgroundColor(Color.rgb(56,184,226)); 
      } 
      else { 
       itemView.setBackgroundColor(Color.TRANSPARENT); 
      } 

      return itemView; 
     } 
    }; 
    sp.setAdapter(adapter); 

    //call ID 
    sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parentView, View view, int position, long id) { 
      String selectedItem = sp.getSelectedItem().toString(); 

      if (selectedItem != "Kies..."){ 
       //kleur veranderen 
       mSelectedIndex = sp.getSelectedItemPosition(); 
       Log.e("selectPosition", Integer.toString(mSelectedIndex)); 

       Log.e("ID", idarray.get(position)); 
       //naar de volgende pagina met de 'ID' 
       Intent myIntent = new Intent(c, gekozenOptocht.class); 
       myIntent.putExtra("ID", idarray.get(position)); //Optional parameters 
       c.startActivity(myIntent); 
       sp.setSelection(adapter.getPosition("Kies...")); 
      } 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parentView) { 
      // your code here 
     } 
    }); 

は、なぜ私は最初の1の位置を取得していますか?

+0

'selectedItem.equals(" Kies ... ")' –

答えて

0

問題が解決しました。それは私がインターネット上で見つけたカスタムスピナーと関係があります。

0

get positionの位置パラメータまたはmSelectedIndex変数を使用します。

sp.setSelection(position);

+0

私は 'sp.setSelection(...);'を使用しました。 –

+0

「Kies ...」は重複した項目ではありません。 –

関連する問題