2014-11-21 4 views
1

Пожалуйста, помогите ребятам, .. У меня есть диалогпрогресс и показывается, если выбран флажок элемента. после нажмите выбранный элемент в блесны можно позвонить снова в dialogprogress на одном элементе, выбранном ..как вернуть положение счетчика, чтобы снова выбрать выбранную опцию

spinopr.setOnItemSelectedListener(new OnItemSelectedListener() { 

       @Override 
       public void onItemSelected(AdapterView<?> parent, 
         View view, int position, long id) { 
        ConnectivityManager cm = (ConnectivityManager) getActivity() 
          .getSystemService(Context.CONNECTIVITY_SERVICE); 
        NetworkInfo ni = cm.getActiveNetworkInfo(); 
        if (position != 0 && ni != null) { 
         new TransaksiPulsaAsync().execute(); 
        } else if (position != 0 && ni == null) { 
         showToast("Koneksi Data tidak tersambung!"); 
        } 
       } 

       @Override 
       public void onNothingSelected(AdapterView<?> parent) { 
        // bikin apa 
       } 
      }); 
+0

Есть много способов хранения выбранного индекса, либо путем установки глобальной переменной или в одном классе экземпляра –

+0

Не понимаю ничего из этого. Более того, я не вижу никаких вопросов. – greenapps

+0

Если я понял вас, вы имеете в виду, что вы выбираете пункт 1, и хотите сохранить блокировку выбора счетчика на элементе 1? это то, что вы имели ввиду? – Elltz

ответ

0

наконец, я нашел решение

public class SelectAgainSpinner extends Spinner { 
OnItemSelectedListener listener; 
int prevPos = -1; 

public SelectAgainSpinner(Context context) { 
    super(context); 
} 

public SelectAgainSpinner(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public SelectAgainSpinner(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
public void setSelection(int position) { 
    super.setSelection(position); 
    if (position == getSelectedItemPosition() && prevPos == position) { 
     getOnItemSelectedListener().onItemSelected(null, null, position, 0); 
    } 
    prevPos = position; 
} 

}

, а затем положить в XML

0

В соответствии с документом, метод onItemSelected Обр Прядильщиков будет вызван, когда был выбран элемент в этой точке зрения. Этот обратный вызов вызывается только тогда, когда вновь выбранное положение отличается от ранее выбранной позиции или если не было выбранного элемента.

0

int spinnerpos = adapter.getPosition (элемент прядильника);

элемент поворота - это значение элемента прядильника, который был выбран.

spinopr.setSelection (spinnerpos);

После этого onItemSelected вызывается.

Смежные вопросы