2014-11-30 2 views
1

Я работаю над приложением android, в котором я получаю строковые значения с сервера. Я хочу установить отображаемый текст моего счетчика из строкового значения, исходящего от сервера. Например, если значение String на сервере равно «O +», тогда текст отображения счетчика должен быть «O +». Ниже приведен мой код, пожалуйста, направляйте меня для этого.Как установить текст Spinner в android, поступающий с сервера

 private String[] state = { "O-", "O+", "A-", "A+", "AB-", "AB+", "B-", "B+" }; 

     Spinner spinnerOsversions; 

     spinnerOsversions = (Spinner) findViewById(R.id.spinner_BloodGroup); 
     ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, state); 
     adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinnerOsversions.setAdapter(adapter_state); 
     spinnerOsversions.setOnItemSelectedListener(this); 
+1

Получить значение от сервера с помощью веб-сервиса и хранить в массиве строк/объектов и использовать адаптер для таких же. –

+1

Спасибо @ KanakSony за ваш ответ. Не могли бы вы дать мне небольшой фрагмент кода в соответствии с моим кодом, предположим, что приходящее значение с сервера будет «O +» –

ответ

2

Предположим, что ваш текст сервер содержит в качестве одного из вариантов: "О +".

Чтобы найти и сравнить положение «O +» в Spinner использовать это:

String CompareValue= "O+"; 

if (!CompareValue.equals(null)) { 
     int SpinnerPostion = adapter_state.getPosition(CompareValue); 
     spinnerOsversions.setSelection(SpinnerPostion); 
     SpinnerPostion = 0; 
    } 
+1

Этот код, безусловно, работает. Надеюсь, вы получите этот ответ. – stacktry

+2

работает как шарм .. Большое вам спасибо , Можете ли вы просто объяснить мне значение (! CompareValue.equals (null))? Почему вы сравниваете его с нулевым значением? –

+1

Только для исключения исключения из null-указателя. Увеличьте ошибку возврата значения сервера. – stacktry

2
String[] stateArray = { "O-", "O+", "A-", "A+", "AB-", "AB+", "B-", "B+" }; 
    String statePosition = "";  
    for (int i = 0; i < stateArray.length; i++) { 
     if (stateArray[i].equals(result.getStateSelected())) { // result.getStateSelected() is your service response 
      statePosition = stateArray[i]; 
      return ; 
     } 
    } 

    spinnerOsversions.setSelection(adapter.getPosition(statePosition), true); 
Смежные вопросы