2017-01-10 3 views
1

Я создал приложение, которое будет извлекать данные с веб-сервера. Мое приложение, когда при запуске просто показывает, что раскрывающееся меню spinner не видно. Я думаю, что проблема связана с основной деятельностью, которую я также разместил URL-адрес в конфигурационном файлеAndroid spinner dropdown issue

public class MainActivity extends AppCompatActivity implements  Spinner.OnItemSelectedListener { 
private Spinner spinner; 
private ArrayList<String> trips; 
private JSONArray result; 
public static String SYSTEM_ID; 
public static String CUSTOMER_ID; 
public static String USER_ID; 
public static String TRIP_TYPE; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    trips= new ArrayList<String>(); 
    this.spinner = (Spinner) findViewById(R.id.spinner); 
    spinner.setOnItemSelectedListener(this); 
    loadtrip(); 
} 
public void loadtrip() { 
    StringRequest stringRequest = new StringRequest(config.DATA_URL, 
      new Response.Listener<String>() { 
       public void onResponse(String response) { 
        JSONObject j = null; 
        try { 
         j = new JSONObject(response); 
         result = j.getJSONArray(config.JSON_ARRAY); 
         getStudents(result); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
       } 
      }) { 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put(SYSTEM_ID, "12"); 
      params.put(CUSTOMER_ID, "3513"); 
      params.put(USER_ID, "124"); 
      params.put(TRIP_TYPE, "Open"); 
      return params; 
     } 
    }; 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 
} 
private void getStudents(JSONArray j){ 
    for(int i=0;i<j.length();i++){ 
     try { 
      JSONObject json = j.getJSONObject(i); 
      trips.add(json.getString(config.DATA_URL)); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
    spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item,trips)); 
} 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    String item = parent.getItemAtPosition(position).toString(); 
    Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show(); 
} 
public void onNothingSelected(AdapterView<?> parent) { 


} 


} 

ответ

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

попробовать следующий код

+0

я пробовал не работает – phoenixshiv

+0

https://www.mkyong.com/android/android-spinner-drop-down-list-example/ проверить эту ссылку для справки – Anjali

0

Try ниже код, это поможет вам:

spinner2 = (Spinner) findViewById(R.id.spinner2); 
    List<String> list = new ArrayList<String>(); 
    list.add("list 1"); 
    list.add("list 2"); 
    list.add("list 3"); 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, list); 
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner2.setAdapter(dataAdapter); 

Это работает для меня

+0

я привязанный, что его не за работой – phoenixshiv