从Spinner获取String,并在条件语句中使用它

时间:2014-10-17 04:42:21

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

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

所以我只改变了一小时,我在这里做了一个时区的事情。所以,我所做的是在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

3 个答案:

答案 0 :(得分:1)

试试这种方式

if(TimeZoneNow.equals(Jakarta)

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

答案 1 :(得分:0)

试试这个:

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

说明:

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

equals()用于比较内容。

答案 2 :(得分:0)

使用此代码

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