android - 没有为我的微调器调用 OnItemSelectedListener()

标签 android selection spinner

您好,我有一个使用 visibility = gone 属性隐藏的微调器。我使用 spinner.performclick() 调用微调列表,这工作正常,除了在微调列表中选择一个项目时我的 onselect 监听器永远不会被调用。请帮助:)

唯一抛出的目录警告是“窗口已经聚焦,忽略聚焦增益”

        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
        }
        });

最佳答案

将微调器的可见性保留为 INVISIBLE,但设置 android:layout_width="0dp"和 android:layout_height="0dp"

那样的话,在您调用 performClick() 之前微调器实际上不在 UI 中,然后它出现,用户做出选择并且微调器折叠回 0x0 ... 然后您得到 onItemSelected 事件。

关于android - 没有为我的微调器调用 OnItemSelectedListener(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4915432/

相关文章:

javascript - 在 "Select"上更新在新选项卡中打开网址...仅一次

java - JTree选择颜色

android - Gradle Android测试

Android:每行中带有viewflipper的Listview onclick翻转更多行

android - Admob插屏显示黑屏

android - Android 中微调控件的图形问题

java - 在 ArayAdapter 中使用 Spinner 对空对象引用调用 'java.lang.String java.lang.Object.toString()'

android - 如何在Android APP中隐藏API URL和参数?

javascript - 如何将所有选定的文本包装到span元素中?

android - Spinner 上的 IndexOutOfBounds?