2016-10-05 12 views
2

DBからJSONのリストをロードしています。私はこのリストを使ってアダプタを設定し、Spinnerに追加します。スピナーをクリックすると、追加された要素のリストが表示されます。私がこの要素の1つをクリックすると、私はトーストを値で取得しますが、スピナーが閉じられると表示されません。Spinnerが選択した項目を表示しないAndroid

私のSpinnerでsetSelectionを使用していますが、仕事をしていないようです。

ありがとうございました。

ArrayAdapterアダプター。

 adapter = new ArrayAdapter<String>(getApplicationContext(), 
       android.R.layout.simple_spinner_item, brands); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     marca.setAdapter(adapter); 

     marca.post(new Runnable() { 
      @Override 
      public void run() { 
       marca.setSelection(0, false); 
      } 
     }); 

     marca.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
     { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) { 
       // TODO Auto-generated method stub 
       marca.setSelection(position); 
       marcaMandar = brands.get(position); 
       Toast.makeText(getBaseContext(), marcaMandar, Toast.LENGTH_SHORT).show(); 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 

     }); 
+1

表示される内容は何ですか?それがどのように見えるか –

+0

これは https://photos.google.com/share/AF1QipNHXQtUOo4KmRIuCEs20DEj8w1a8S5_0MD-D4u7T7njwcnBNceU1xb-GOthlRnnPA?key=VDJSYmgzbHJCMXFyb3lrUHJsNGdQaVM0aVQ2TlBn https://photos.google.com/share/AF1QipMtM2Ef_Xzj82D1n_ZmyFZIvMqrDfqOOk9egVkdYlBGiYtVGscorcE6gRgcRFshpQ?key=QVF6NHV2QmI0elJNM3ZVRWkyOE55Q1ZHREpPTzBn HTTPS :?あなたの助けのための//photos.google.com/share/AF1QipPDmDZOLsd9N8Kq3vljGX6s58C8noadKnH3isvZ6KcpYzPdq6zck2L6elPv8wMi8Qキー= WE5CTVk2eDBEVTN5MFRzLWVxRE54Qlljamc2M2Rn 感謝。 –

+0

これらのスクリーンショットでmarca Abarthが選択された後のスピナーに表示されます。私はあなたの問題を理解していない..あなたは手動でセレクトを設定する必要はありません。自動的に行われます。 –

答えて

0

あなたはそれを変更し、選択した項目を表示するには、アダプタに接続されているUIコントロールを更新します

adapter.notifyDataSetChanged(); 

これを追加する必要があります。 Androidの参照で述べたよう

notifyDataSetChanged()

は、データを反映任意ビューが は自体をリフレッシュするべき設定 基礎となるデータが変更されたことを取り付けオブザーバーに通知し

+0

これは私が行った変更ですが、まだ動作していませんが、答えに感謝します。 ArrayAdapter アダプター; アダプタ=新しいArrayAdapter (getApplicationContext()、 android.R.layout.simple_spinner_item、modelos); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.notifyDataSetChanged(); modelo.setAdapter(adapter); –

0

多くの試行錯誤の後に動作させることができました。デフォルトのレイアウトタイプを変更して動作させる必要があるようです。答えた人におかげさまで大変感謝します。

ArrayAdapter<String> adapter; 
    adapter = new ArrayAdapter<String>(Preferencias.this, android.R.layout.simple_list_item_1, brands); 
    adapter.notifyDataSetChanged(); 
    marca.setAdapter(adapter); 
関連する問題