Java Android应用程序无法识别设备上自动完成的单词

Java Android应用程序无法识别设备上自动完成的单词,java,android,xml,Java,Android,Xml,我最近创建了一个应用程序,它从Edittext字段获取用户输入,并将其与预定义字符串进行比较。在模拟器中,它工作得非常完美,但当我把它放在我的android设备上并在那里进行测试时,它似乎无法识别设备自动完成的单词,也就是说,当我键入部分单词时,建议由我填写并选择。当它应该是真的时候,它会比较假 为什么会这样?我是否可以集成一个xml标记来删除编辑文本字段的自动建议功能 以下是我的编辑文本xml的外观: <EditText android:id="@+id/st

我最近创建了一个应用程序,它从Edittext字段获取用户输入,并将其与预定义字符串进行比较。在模拟器中,它工作得非常完美,但当我把它放在我的android设备上并在那里进行测试时,它似乎无法识别设备自动完成的单词,也就是说,当我键入部分单词时,建议由我填写并选择。当它应该是真的时候,它会比较假

为什么会这样?我是否可以集成一个xml标记来删除编辑文本字段的自动建议功能

以下是我的编辑文本xml的外观:

      <EditText
        android:id="@+id/st5ans"
        android:layout_width="@dimen/form_width"
        android:layout_height="@dimen/input_height"
        android:textSize="@dimen/statenamesize"
        android:layout_marginTop="@dimen/maingamespaceing"
        android:layout_toRightOf="@id/state5"
        android:autoText="false"
        android:gravity="center"
        android:layout_below="@id/st4ans"
        android:background="@android:color/white"
        />

temp是字符串temp=y.getText.toString的Edittext值

您想使用一个。它使用适配器将输入与可能的建议相匹配。

如果它在emulator上工作,但在您的设备上不工作,则设备的数据肯定存在一些差异。确保您没有与空白字符串或其他与EditText无关的问题进行比较。

请将整个代码段放在比较字符串的位置,以便我们了解您到底在做什么,您正在侦听哪个侦听器事件。您在哪里比较硬编码字符串和文本字段?好的,这是比较代码段。这有点解决了它,哑自动更正在字符串中添加了一个空格字符,所以我必须使用.trim方法进行修改。谢谢
 EditText ans1 = (EditText)findViewById(R.id.st1ans);
        EditText ans2 = (EditText)findViewById(R.id.st2ans);
        EditText ans3 = (EditText)findViewById(R.id.st3ans);
        EditText ans4 = (EditText)findViewById(R.id.st4ans);
        EditText ans5 = (EditText)findViewById(R.id.st5ans);
        EditText[] ans={ans1, ans2, ans3, ans4, ans5};
        int count=0;
        int number=0;
        String feed="";

        //this loop tallys up all of our correct answers and then builds
        // feedback for wrong answers to give to
        //the user, using our data hashmap
            for (EditText y : ans)
            {
                String temp=y.getText().toString();
            if(temp.equalsIgnoreCase(data.get(stats[number%stats.length].getText().toString())))
                {
                    count += 1;
                } else {
                    if (firstpass)
                    {
                        feed += "         The capitol of  " +
                                drawlist.get(drawn.get(number)) + " is " +
                                data.get(drawlist.get(drawn.get(number))) + "  " + "\n";
                    }
                    else
                    {
                        feed += "          "+drawlist.get(drawn.get(number))+
                                " is the capitol of "+
                                data.get(drawlist.get(drawn.get(number))) + "  " + "\n";
                    }
                }

                number += 1;

            }