2013-04-18 98 views
0

这很可能是一个非常简单的事情,所以我很抱歉,如果是这样,但我似乎无法实现它。匹配用户输入和字符串

我想检查用户输入到editText字段并将其与硬编码字符串进行比较。

这里是我想比较对字符串 -

OverlayItem overlayitem = new OverlayItem(point,"House Information", 
"4 Bed w/ large garden\n2 minute walk from Town Centre\nSchools 5 minute walk\n€300,000"); 

这里是我的EDITTEXT场 -

<!-- Number of rooms text field --> 
<EditText 
    android:id="@+id/numberRooms" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:hint="No. of rooms" 
    android:imeActionLabel="launch" 
    android:inputType="number" /> 

我希望能够检查什么类型的用户对“4 “在字符串中。以下是我迄今为止尝试 -

EditText numberOfRooms = (EditText) findViewById(R.id.numberRooms); 
if(overlayitem.equals(numberOfRooms.getText().toString())) 
{ 
    itemizedoverlay.addOverlay(overlayitem); 
} 

所以基本上我不想整个字符串比较,我只是想比较一下用户输入的字符串中的第一个字符,在这种情况下,将永远是一个数字。

+0

使用的串来获得硬编码字符串的一个子你想要的长度,然后用startsWith,看看另一个字符串从该字符串开始 –

+0

@GabeSechan感谢您的回复。我不知道如何去做你的建议,因为我的覆盖范围内有两个字符串,“房子信息”部分,然后是“4张床w/....”部分,但我只想检查第二弦部分。我不是没有,如果我应该提到,但有多个字符串检查,overlayitem1,overlayitem2等,但我想如果我能得到一个工作,我可以得到其余的。 – funky

回答

0

overlayitem不是一个String。 你可能想比较overlayitem.getTitle()overlayitem.getSnippet()代替:

overlayitem.getTitle().equals(numberOfRooms.getText().toString()) 
+0

我是否需要沿着'EditText numberOfRooms =(EditText)findViewById(R.id.numberRooms)'这行的方向使用某些东西;'尽管要接受用户输入的内容? – funky

+0

是的,你在这方面做的很好。 (的EditText)findViewById(R.id.numberRooms).getText()。的toString()。 – tbkn23

+0

对不起,我不明白如何正确实现它到IF语句。当我尝试做 - 'EditText numberOfRooms =(EditText)findViewById(R.id.numberRooms).getText()。toString();'我得到一个错误的.getText()说方法getText未定义类型视图。你能向我解释它是如何正确实施的? – funky

1

尝试:

String rooms = overlayitem.getSnippet().substring(0,2); 
     rooms = rooms.trim(); 
    if(rooms.equals(numberOfRooms.getText().toString())) 
    { 
     //Do whatever you want 
    } 
+0

不,它不工作,当我输入4时,应用程序崩溃。我已经在我的公共类中定义了我的按钮,就像这样 - “EditText numberOfRooms;'以防我的主文章不清晰。 – funky

+0

我忘了添加修剪(),我编辑了我的答案 – Radoslav

+0

我试了一遍,没有运气:(可以肯定,我已经在我的公共类中声明了'EditText numberOfRooms;'但是我的用户输入的实际editText id字段是'numberRooms',这是正确的还是应该在我的公共类中的EditText numberOfRooms更改为EditText numberRooms? – funky