当前位置: 首页 > 知识库问答 >
问题:

微调器不会显示已选择,也不会响应项目选择

岳劲
2023-03-14

我正在尝试制作一个非常简单的微调器,至少如下所示:

XML:

<Spinner
     android:id="@+id/spinner_categories"
     android:layout_width="0sp"
     android:layout_height="wrap_content"
     android:drawSelectorOnTop="true"
     android:layout_weight="1"
     android:textColor="#000000"
     android:spinnerMode="dropdown"/>

爪哇:

spinnerCategories = findViewById(R.id.spinner_categories);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                getApplicationContext(),
                android.R.layout.simple_spinner_item,
                categories);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerCategories.setAdapter(adapter);
Log.d(Utilities.LOG_FLAG, "SPINNER: " + spinnerCategories.toString());
spinnerCategories.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
                Toast.makeText(context, categories.get(position).toString(), Toast.LENGTH_SHORT).show();
                Log.d(Utilities.LOG_FLAG, "SELECTED");
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                Log.d(Utilities.LOG_FLAG, " NOT SELECTED");
            }
        });

我可以看到整个列表,但是一旦我点击一个项目,什么都不会发生,它根本不会显示选择,即使我使用setSelect(),并且如果我尝试做spinnerCategories.getSelectedItem(). toString()我得到一个NullPointerException。我试着在网上搜索了很多,但没有一个解决方案似乎对我有帮助...

共有1个答案

羊舌高峰
2023-03-14

单击下拉菜单中的元素时,会触发setOnItemSelectedListener。。要获取所选项目,需要使用。getSelectedItemPosition()类似于分类列表。get(spinner.getSelectedItemPosition)

 类似资料:
  • 我无法在微调器中选择项目。当我单击微调器中的项目时,Logcat显示警告 W/InputManagerService(60):窗口已聚焦,忽略:com的聚焦增益。Android内部的看法IIInputMethodClient$存根$Proxy@406f3d90 代码示例 你能帮助我吗?

  • 我在Ubuntu12.10上运行NetBeans7.3。我正在学习一门Java Web开发课程,所以我有一个名为jsage8的项目,其中包含了我为该课程所做的工作。以前,这个项目在Projects选项卡中显示得很好,但现在打开这个项目什么也做不到。当我在打开项目菜单中单击打开它时,它只是说“没有项目打开”。然而,它将打开一个不是基于web的项目的普通Java项目文件夹。目前项目中只有一个index

  • 我们的应用程序正在使用 gapi.auth.登录进行身份验证。问题是,当用户登录到多个帐户时,不会显示帐户选择下拉列表。目前,为了克服这个问题,应用程序设置。显然,这并不是很有效。 使用时是否可以显示多用户选择下拉列表gapi.auth.signin? 用gapi.auth.authorize代替吗?(相关问题) 非常感谢。

  • 我想在我的应用程序中创建动态树结构。我的要求是当用户选择任何树节点并单击插入时,子节点应该插入到所选父节点下方。这很正常。现在的问题是我无法取消选择当前选择的树项以更改树项。我单击视图的背景并尝试插入一个新的树项,但它仍然转到先前选择的树节点,因为它仍然突出显示为选定的树项。如何解决这个问题?

  • 问题内容: 除非不应该这样,但我似乎无法承认类选择器。 我在另一个div内说了4个div,所有的类和id都在上面。我需要选择具有该类的div的第一个实例。例如: 并且显然再次获得相同的效果,但它不会影响任何div。 现在,如果我要强制它与该div一起使用,我可以这样做: 碰巧它是#content中的第3个div,这毫无意义,因为我需要使用该类获取任何东西的第一个实例。 这是HTML的示例,我已经尝

  • 我有一个通过扩展BaseAdapter填充了自定义视图的微调器。通过重写 BaseAdapter 中的 getView() 方法填充项 我需要找到一种方法来区分下拉列表中选中的项目。我的意思是,当用户点击微调,以前选择的项目将显示在不同的颜色/背景等。 我不认为有必要查看代码,因为它与网站上的许多代码类似。