当前位置: 首页 > 面试题库 >

如何使On Item Selected不会自动选择第一个条目

殷安顺
2023-03-14
问题内容

我创建了一个微调器,当有人使用阵列适配器添加设备时,该微调器会自动更新设备名称。我使用微调器创建了OnItemSelected方法,因此,当选择微调器中的名称之一时,将出现一个新窗口。但是,在活动开始时,OnItemSelected会自动选择列表中的第一个项目,因此,在新窗口出现之前,用户没有机会进行实际选择。

这是代码:

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub
    startActivity(new Intent("com.lukeorpin.theappliancekeeper.APPLIANCESELECTED"));
    }

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

有谁知道不会自动选择列表中第一项的方法?

这是其余微调器的代码:

ArrayAdapter<String> appliancenameadapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, ApplianceNames); //Sets up an array adapter containing the values of the ApplianceNames string array
    applianceName = (Spinner) findViewById(R.id.spinner_name); //Gives the spinner in the xml layout a variable name
    applianceName.setAdapter(appliancenameadapter); //Adds the contents of the array adapter into the spinner

    applianceName.setOnItemSelectedListener(this);

问题答案:

有谁知道不会自动选择列表中第一项的方法?

总是 一个选择Spinner,你不能改变的。

恕我直言,您不应该使用Spinner来触发开始活动。

话虽如此,您可以使用a boolean来跟踪这是否是第一个选择事件,如果是,则将其忽略。



 类似资料:
  • 问题内容: 我有一个包含多个标签的标签。 我只能为第一个标记设置CSS属性: 但是,我以下尝试为除第一个标签之外的其他每个标签设置CSS属性不起作用: 如何在CSS中编写“除第一个元素外的每个元素”? 问题答案: 一个您发布的版本的实际工作为所有现代浏览器(如CSS选择3级的支持: 如果您需要支持旧版浏览器,或者由于选择器的限制(仅接受一个简单的选择器作为参数)而受到阻碍,则可以使用另一种技术:

  • 我有一个标签,包含几个标签。 我只能为第一个标记设置CSS属性: 但是,我下面尝试为每个标记设置CSS属性,但第一个除外,但都不起作用: 我如何用CSS写:“每个元素,除了第一个”?

  • 问题内容: 我有一个生成的DataFrame,如下所示: 结果如下: 如您所见,DataFrame按升序排列,然后按降序排列。 我想选择每个组的第一行,即 从小时== 0的组中选择(0,cat26,30.9) 从小时= 1的组中选择(1,cat67,28.5) 从小时== 2的组中选择(2,cat56,39.6) 等等 因此,所需的输出将是: 能够选择每个组的前N行也可能很方便。 任何帮助都将受到

  • 我有3个组合框,当我选择第一个组合框时,我希望第二个组合框的第一项和第三个组合框被自动选择。当选择第二个组合框的第一项时,将触发第三个组合框的on选择事件,但参数未定义 当我选择第一个组合框的项目时,这里的是未定义的。当我选择第二个组合框的项目时,它不是 为什么?

  • 问题内容: 如何选择连续的第一个和最后一个? 问题答案: 您可以使用和伪选择器: 这应该在所有主流浏览器上都可以使用,但是当动态添加元素时IE7会出现一些问题(在IE6中将无法使用)。

  • 问题内容: 我只需要选择给定datetime变量的月份的第一天。 我知道使用这种代码非常容易: 但这不是很优雅,也可能不是很快。 有一个更好的方法吗?我正在使用SQL Server 2008。 问题答案: