【问题标题】:Getting String from Spinner, and using it on conditional statements从 Spinner 获取字符串,并在条件语句中使用它
【发布时间】:2014-10-17 04:42:20
【问题描述】:

我有这个程序可以更改我从日历中获得的值的小时和分钟。

所以我只改变小时,我在这里做一个时区的事情。所以,我所做的是在 Strings.xml 中创建一个 TimeZones 数组并将其放在微调器上。然后,当我更改微调器上的项目时,我将 textview 的文本设置为微调器上的选定值。

我能做到。

我的问题在于条件语句。我有一个在 TextView 中获取文本的按钮,我将在我的 If 语句中使用它。这是我的语法。

这让我得到了从 Spinner 到 TextView 的值。

    Spinner TimezoneSelect = (Spinner)findViewById (R.id.spinner1);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.timzones, R.layout.support_simple_spinner_dropdown_item);
    TimezoneSelect.setAdapter(adapter);
    //final String SelectedTimeZone = TimezoneSelect.getSelectedItem().toString();
    TimezoneSelect.setOnItemSelectedListener(new OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            // TODO Auto-generated method stub
            TimeZoneStatus = parent.getItemAtPosition(position).toString();
            TimeZoneDisplay.setText(TimeZoneStatus);

这是错误的 If 语句。

        public void onClick(View v) {
        // TODO Auto-generated method stub
        int newhour;
        String TimeZoneNow = TimeZoneStatus.trim().toString();
        String Jakarta = "UTC+7:00 (Jakarta)";
        if  ((TimeZoneNow == "UTC+7:00(Jakarta)") || (TimeZoneNow == Jakarta)) 
        //^lol desperate code
        {
            newhour = hour - 1;
            TimeText.setText(newhour + ":" + minutes);
        }

    }

   });

帮助! :c

【问题讨论】:

标签: android datetime spinner conditional-statements eclipse-adt


【解决方案1】:

试试这个方法

if(TimeZoneNow.equals(Jakarta)

使用.equals()方法进行字符串比较

【讨论】:

    【解决方案2】:

    使用此代码

     if  ((TimeZoneNow .equalsIgnoreCase(Jakarta)) 
        //^lol desperate code
        {
            newhour = hour - 1;
            TimeText.setText(newhour + ":" + minutes);
        }
    

    【讨论】:

    • 这是我使用的,但我确信所有的 .equals 都是正确的。谢谢你。 :)
    【解决方案3】:

    试试这个:

    在您的情况下,将 == 替换为 eqauls()

    解释:

    == 运算符用于比较引用。

    equals() 用于比较内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-15
      • 2021-12-27
      • 1970-01-01
      • 2013-04-29
      • 2012-06-23
      • 2018-12-15
      • 1970-01-01
      • 2021-10-09
      相关资源
      最近更新 更多