如何从AutoCompleteTextView中获取字符串文本?

8
public class FareActivity extends Activity {


int fareid;
String Source;
String Dest;
AutoCompleteTextView source;
AutoCompleteTextView dest;


static final String[] SOURCE = new String[] {
      "Delhi", "Mumbai", "Agra", "Jaipur};


static final String[] DEST = new String[] {
      "Delhi", "Mumbai", "Agra", "Jaipur};




/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fare);




    dest = (AutoCompleteTextView) findViewById(R.id.acdest);
    ArrayAdapter<String> dadapter = new ArrayAdapter<String>(this, R.layout.list_item, DEST);
    dest.setAdapter(dadapter);



source = (AutoCompleteTextView) findViewById(R.id.acsource);
ArrayAdapter<String> sadapter = new ArrayAdapter<String>(this, R.layout.list_item, SOURCE);
    dest.setAdapter(sadapter);




 // Fare id calculation

     if(Source=="Delhi" && Dest=="Jaipur")
     {
         fareid=1;
     }
     else  if(Source=="Delhi" && Dest=="Agra")
     {
         fareid=2;
     }
     else  if(Source=="Delhi" && Dest=="Mumbai")
     {
         fareid=3;
     }


}

我只想将自动完成文本视图“源”和自动完成文本视图“目标”的值存储到字符串变量“Source”和字符串变量“Dest”中。我将在我的项目中进一步处理这两个字符串变量,请帮我实现。

你想获取自动完成视图的文本吗?- 通过使用 String myDest = dest.getText().toString() - pleerock
https://dev59.com/6G445IYBdhLWcg3wg6pm - AliSh
2个回答

18

只需使用AutoCompleteTextView方法getText()并在其上调用toString()即可。

// Fare id calculation
Source = source.getText().toString();
Dest = dest.getText().toString();

if (Source.equals("Delhi") && Dest.equals("Jaipur")) {
    fareid=1;
}
else if (Source.equals("Delhi") && Dest.equals("Agra")) {
    fareid=2;
}
else if (Source.equals("Delhi") && Dest.equals("Mumbai")) {
    fareid=3;
}

您需要记住用户可以输入任何内容到您的AutoCompleteTextView中。如果您想在用户选择建议项之一时执行操作,请使用dest.setOnItemSelectedListener()添加一个OnItemSelectedListener

您的代码中也存在错误,您调用了dest.setAdapter(sadapter)而不是source.setAdapter(sadapter)


4
应该使用"equals()"方法进行字符串比较,而不是使用"=="。 - Aduait Pokhriyal

4
AutoCompleteTextView source = (AutoCompleteTextView) findViewById(R.id.acsource);
String Source = source.getText().toString();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接