OnItemSelectedListener () не вызывается для моего счетчика - PullRequest
2 голосов
/ 06 февраля 2011

Привет, у меня есть прядильщик, который я спрятал, используя атрибут видимости = ушел. я вызываю список счетчиков с помощью spinner.performclick (), это работает нормально, за исключением того, что при выборе элемента в списке счетчиков мой прослушиватель onselect никогда не вызывается. пожалуйста помогите :)

единственное предупреждение, которое выдается в catlog: «окно уже сфокусировано, игнорируя усиление фокуса»

        catagorySpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            CashDB cdb = new CashDB(getBaseContext()); 
            cdb.open();
            Cursor c = cdb.FetchCatagory(id);
            startManagingCursor(c);
            c.moveToFirst();
            String newCatagoryName = c.getString(c.getColumnIndexOrThrow(CashDB.CATAGORY_NAME));
            c.close();
            areYouSureDialog("Are You Sure?", "Are you sure you want to delete the catagory " +'"' 
                    + catagoryName + '"'+ " and move all of the transactions to " +'"' 
                    + newCatagoryName + '"' + " ?",
                    catagoryIcon, catagoryName,newCatagoryName, DELETE_CATAGORY_MOVE, catagoryId);
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
        });

1 Ответ

9 голосов
/ 03 апреля 2011

Оставьте видимость для счетчика на уровне невидимкой, но установите для android: layout_width = "0dp" и android: layout_height = "0dp"

Таким образом, спиннер фактически не отображается в пользовательском интерфейсе до тех пор, пока вы не вызовете executeClick (), а затем, кажется, пользователь делает выбор, и спиннер падает до 0x0 ... и вы получаете событие onItemSelected.

...