从Spinner中获取字符串,并在条件语句中使用它
问题描述:
我有这个程序将更改从Calendar获得的值的小时数和分钟数。从Spinner中获取字符串,并在条件语句中使用它
所以我只改变了一小时,我在这里做了一个时区的事情。所以,我所做的是在Strings.xml中创建一个TimeZones数组,并将其放在一个微调器上。然后,当我更改微调器上的项目时,我将文本视图的文本设置为微调器上的选定值。
我可以做到这里。
我的问题在于条件语句。我有一个获取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
答
使用此代码
if ((TimeZoneNow .equalsIgnoreCase(Jakarta))
//^lol desperate code
{
newhour = hour - 1;
TimeText.setText(newhour + ":" + minutes);
}
+1
这是我使用,但我确定所有.equals的都是正确的。谢谢。 :) – 2014-10-17 05:07:48
答
尝试这种方式
if(TimeZoneNow.equals(Jakarta)
用于字符串比较
答
.equals()
方法试试这个:
在你的情况与eqauls()
更换==
。
说明:
==
运算符用于比较的参考。
equals()
用于比较内容。
[Java中比较字符串(http://*.com/questions/513832/how-do-i-compare-strings-in-java) – user2450263 2014-10-17 04:50:57