2017-08-22 12 views
0

私はサーバに電話をかけ、サーバは配列形式[Voters、Passport、DriversLicense、SocialSecurity]で応答します。 Spinnerにアイテムを追加して、Spinnerから一度に1つのアイテムを選択できるようにします。私はのidtypeはあなたが話している配列であると仮定し配列からSpinnerにデータをロード

public void loadIdTypes() { 
    mAPIService.loadIdTypes().enqueue(new Callback<IdType>(){ 
     @Override 
     public void onResponse(Response<IdType> response, Retrofit retrofit) { 
      String name = response.body().getData().toString(); 
      Log.i("cityName", name); 

     } 

     @Override 
     public void onFailure(Throwable t) { 

     } 
    }); 
} 
+0

あなたが取得している応答文字列の例を追加することができますを確認することができますか? 誰かがあなたに完全な例を与えることができます – eiran

答えて

0

これは、以下の私のコードです。それはそう、あなたはすぐ下のようなあなたのスピナーのためのアダプタを作成する必要がある場合:

まず、あなたは活動の内部やonViewCreatedでそれを使用している場合は、フラグメントを使用している場合のonCreateメソッドにスピナーを初期化します。

Spinner s = (Spinner) findViewById(R.id.Spinner01); 

は、その後、あなたのコールバックの内側には、次の作業を行う必要があります

ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, 
     android.R.layout.simple_spinner_item, response.body().getData()); 
s.setAdapter(adapter); 

あなたは、メソッド「loadIdTypes」へのパラメータとしてのコンテキストを渡すことができます。そのコードがアクティビティ内で使用されている場合は、MyActivity.thisを使用してください。フラグメント内で使用している場合は、getContext()を呼び出します。 "android.R.layout.simple_spinner_item"と呼ばれるレイアウトは単なるデフォルトレイアウトです。あなたが望むレイアウトを使用することができます。 3番目のパラメータは、配列またはリストである必要があります。詳細については

あなたはofficial example

関連する問題