Bir döndürücü ile görüşüm var. Etkinlik, üst öğenin Spinner'da gösterdiği değerleri eklediğim veya sildiğim bir pop-up ile başka bir canlılığı başlatır. Yani, onActivityResult() İçerisinde, fillSpinner() yöntemimi çağırarak, ek veya silinmiş değerleri yansıtacak şekilde Döndürücü'nin içeriğini yeniliyor. Bu yöntem parametresi, daha önce seçilen bir değerdir: I Spinner açık zamanBir Spinner'ın Yenilenmesi
private void fillSpinner(String value){
Cursor c = mDbHelper.getAllCategories();
startManagingCursor(c);
c.moveToFirst();
String[] from = new String[]{DBAdapter.KEY_CATEGORY};
SimpleCursorAdapter scCats = new SimpleCursorAdapter(
this, android.R.layout.simple_spinner_item,c,from,
new int[]{android.R.id.text1});
scCats.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
category.setAdapter(scCats);
if (value != null && value != "") {
category.setSelection((int)mDbHelper.categoryIndex(value));
}
}
, (o tazelendi yani) doğru bir listesini içerir ve doğru bir değer seçilir. Bununla birlikte, Spinner kontrolünün kendisi (kapalı durumunda) seçilen değeri göstermez, ancak listede ilk olanı gösterir.
Hata ayıklayıcısında kod boyunca adım attığımda, SetSelection() çağrılmadan önce ve sonra Spinner değeri doğrudur (ve her zaman aynı doğru kimliğe sahip olur). Ancak, olaydan çıkamamadığımdan, kısa bir süre sonra yürütmeyi sürdürdüğümde, Spinner'daki değer değişir. Başka bir deyişle
, spinner en görüntülenen dize değişti ve benim açılan faaliyetinden döndüğünüzde seçilen öğe farklıdır edilir.Herhangi bir fikir takdir edilmektedir.
Teşekkür ederiz! Benim için çalıştı. – Yellos