spinner If Strings** == 不工作

2023-12-03

为什么这不起作用?

if(itemx == "Test number item 0")
    {
    Log.i("Dropdown", "inside if");
    us_lo_ans_hold.setText("0x");
    }; 

如果 itemx 是字符串并且它具有字符串“测试编号项目 0”。

我正在创建我的第一个旋转器。

以下是 Activity 的 onCreate 块中的微调器代码:

    Spinner us_lo_spinner = (Spinner) findViewById(R.id.ul_ans_spinner); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.test_defaults , android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    us_lo_spinner.setAdapter(adapter); 

 // Spinner click listener 
us_lo_spinner.setOnItemSelectedListener(this);

这是 strings.xml 中的字符串数组:

<string name="spin_title_ulover_ans">Spinner default:</string> 
<string-array name="test_defaults"> 
    <item>Test number item 0</item>
    <item>Test number item 1</item> 
    <item>Test number item 2</item> 
    <item>Test number item 3</item> 
    <item>Test number item 4</item> 
</string-array>

这是 onItemSelected:

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) 
{
    Log.i("XXX_Dropdown", "XXXX");
    TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
    // On selecting a spinner item 
    String itemx = arg0.getSelectedItem().toString();
    us_lo_ans_hold.setText("oppp12");
    Log.i("Dropdown", "item: " + itemx);
    Log.i("Dropdown", "arg1: " + arg1);
    Log.i("Dropdown", "arg2: " + arg2);
    Log.i("Dropdown", "arg3: " + arg3);
    // Showing selected spinner item 
    if(itemx == "Test number item 0")
        {
        Log.i("Dropdown", "inside if");
        us_lo_ans_hold.setText("0x");
        }; 

}

从我输入的所有 Log.i(,) 中,我可以看出 itemx 是正确的,当选择微调器中的项目时,它具有正确的字符串。 然而 IF 不起作用。

如果我将 IF 更改为:

if(arg2 == 0)
    {
    Log.i("Dropdown", "inside if");
    us_lo_ans_hold.setText("0x");
    }; 

它会起作用的;但这不是我想要的!

那么...为什么这不起作用?!:

if(itemx == "Test number item 0")
    {
    Log.i("Dropdown", "inside if");
    us_lo_ans_hold.setText("0x");
    }; 

如果 itemx 是字符串并且它具有字符串“测试编号项目 0”。 ?


还如何或何时调用“onNothingSelected”? 当你按下后退按钮时? 当您选择已选择的项目时? 我的“onNothingSelected”从未被调用过!

public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
    Log.i("Dropdown", "in NOTHING SELECTED");
    TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
    us_lo_ans_hold.setText("nothing selected");
}

尝试放入 Activity 的 onCreate 块,如下所示:

    // Spinner click listener 
    us_lo_spinner.setOnItemSelectedListener(this);

us_lo_spinner.onNothingSelected(this)   

但〜编译器〜确实喜欢那样。

那么...如何或何时调用“onNothingSelected”以及它如何连接到微调器?


If your itemx是一个变量,那么你不能比较两个字符串==。改用items.equals("Test number item 0");

==比较objects and equals()比较字符串值。 看看这个post.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spinner If Strings** == 不工作 的相关文章

随机推荐

  • while 语句之后的 else 语句,以及字符串与字符串列表的比较?

    我正在尝试创建一个小型测试脚本 将一些内容附加到注释中 下面包含的是我将在脚本中执行的主要函数 问题似乎是我无法得到else块运行时whileblock 的计算结果为 false 也就是说 当它的计算结果不是这四个选项之一时 while块只
  • 字典不显示特定键(数值)的项目

    这是一篇长文 但留在我身边 我有一个Dictionary将 PO 另存为Key和 SO 作为项目 可能存在某个 PO 具有多个 SO 的情况 我在工作表中的 Excel 数据 其中字典获取的值如下所示 用于填充的代码Dictionary 工
  • 无法使用node-xmpp客户端连接到GCM

    我正在尝试使用 node xmpp 运行 gcm 服务器 但 xmpp 客户端似乎根本没有打开并在超时后关闭 var xmpp require node xmpp client var options type client jid ema
  • 在VS2008中配置调试器的超时时间

    我在 Delphi 应用程序中使用 C Service 问题是如果我一段时间没有单击任何内容 VS 将停止调试器 它看起来像是一个调试超时问题 但我在 VS 中找不到任何相关配置 有谁知道是否有这样的配置以及它在哪里 感谢您的帮助 好吧 我
  • Windows 系统托盘图标 - 控制位置

    我有一些我编写的旧应用程序 在 Delphi 中 由于各种原因 它们使用系统托盘图标 大多数都使用 AppControls TacTrayIcon 或其他一些类似的组件 这是我的问题 如何控制position托盘图标 即相对于系统时间的位置
  • R:使用 rollapply 和 ddply 进行分组滚动窗口线性回归

    我有一个包含多个分组变量的数据集 我想在其上运行滚动窗口线性回归 最终目标是提取斜率最低的 10 个线性回归 并将它们一起平均以提供平均最小变化率 我找到了使用 rollapply 来计算滚动窗口线性回归的示例 但我有一个额外的复杂性 我想
  • Facebook API / Android:墙贴发布时图像附件不起作用

    我有以下代码 它可以工作并发布消息部分 但附件部分不起作用 我怀疑这与将 JSON 作为字符串传递有关 脸书回归 id 23522646737635675 所以这不是一个错误 Bundle params new Bundle params
  • ggplot 中的双点

    我找不到密度周围双点的文档 set seed 1234 df lt data frame cond factor rep c A B each 200 rating c rnorm 200 rnorm 200 mean 8 print he
  • 设计“find_first_by_auth_conditions”方法说明

    我使用的两种方法Devise Method1 def self find first by auth conditions warden conditions conditions warden conditions dup where c
  • 计算两个地址之间的距离时出现错误

    我有以下脚本 用于电子表格中计算两个城市或一个城市与另一个城市的邮政编码之间的行驶距离 它正在大约 25 个地点同时运行 为了更好地解释 我有一个单元格 B3 每次我都会进入一个新城市 然后 该脚本在与我的 25 个工厂位置相邻的单元格中使
  • 在您的路径上找不到 Git 或 Cordova (Windows/Netbeans),在 AppData/Local 下找不到 GitHub,FIX 2015

    Error NetBeans 在您的路径上找不到 git 或 cordova When尝试在 Netbeans 中创建新的 Cordova 应用程序 怎么修 gt 答案可以在下面找到 如果有人想知道如何让 Cordova 在 Netbean
  • Java多线程仅用于2台计算机,如何在main中执行

    我正在尝试让至少两台计算机连接到我的服务器 我将如何启动第二个线程 public static void main String args throws InterruptedException Create the server whic
  • [MASM]另一个“无法使用具有 32 位地址的 16 位寄存器”错误

    我正在使用 MASM 汇编器学习汇编语言 当我尝试使用以下命令汇编一个简单文件时 我遇到了困难 ml c test asm和test asm文件看起来像 386 model flat code MOV BP WORD PTR BP 4 EN
  • 如何在Android中定义回调?

    在最近的 Google IO 期间 有一个关于实现 Restful 客户端应用程序的演示 不幸的是 这只是一个高层讨论 没有实现的源代码 在此图中 在返回路径上有对其他方法的各种不同的回调 我如何声明这些方法是什么 我理解回调的想法 在发生
  • E0513 “const char *”类型的值无法分配给“LPCWSTR”类型的实体

    你好 我试图在屏幕上绘制一个窗口 我两周前写了这个 它有效 但现在我重写了它 完全相同 我收到错误 有人可以帮忙吗 错误是 E0167 const char 类型的参数与 LPCWSTR 类型的参数不兼容 和 E0513 const cha
  • 如何附加两个音频文件?

    我想在 iPhone 中附加两个音频文件 请帮助我做到这一点 我得到了解决方案 以下是执行此操作的示例代码 AVMutableComposition composition AVMutableComposition composition
  • 使用添加按钮在 React 中添加输入

    我正在尝试制作一组 可以复制或删除的输入 我发现并使用了以下组合 https jsfiddle net 69z2wepo 36745 这是 因为上面的代码不处理删除 https codepen io lichin lin pen MKMez
  • Android:如何使用画布/绘制位图缩放位图以适合屏幕尺寸?

    我正在拍摄图像并使用画布将其绘制到屏幕上 我想根据屏幕尺寸缩放它 这是我尝试过的 但它切断了图像的一大块 DisplayMetrics metrics context getResources getDisplayMetrics int w
  • Sendkeys 在 android appium 驱动程序上失败

    我正在使用 appium 来自动化 Android 应用程序 在这种情况下 无法在以下情况下对文本字段执行 sendkeys 单击添加客户选项 新页面打开 我正在尝试在文本字段中输入值 我能够使用 xpath 找到页面上的文本字段 我可以单
  • spinner If Strings** == 不工作

    为什么这不起作用 if itemx Test number item 0 Log i Dropdown inside if us lo ans hold setText 0x 如果 itemx 是字符串并且它具有字符串 测试编号项目 0 我