GetSelectedItem/value 来自 AutoCompleteTextView [不工作]
GetSelectedItem/value from a AutoCompleteTextView [Not Working]
我一直在尝试从我的一个 AutoCompleteTextView(sp_Especie) 中获取一个 selectedItem 并将其传递给
字符串变量,所以我可以在另一个(sp_Raza)的 if 条件下使用它,但没有成功。
这是我的代码:
final ArrayList Perros = new ArrayList();
String[] datos = new String[]{"Perro", "Gato"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(CrearPost.this, android.R.layout.simple_dropdown_item_1line, datos);
sp_Especie.setAdapter(adapter);
sp_Especie.setThreshold(1);
sp_Raza.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AutoCompleteTextView sp_Especie = (AutoCompleteTextView) findViewById(R.id.sp_Especie);
String text = sp_Especie.toString();
System.out.println("COMES DATA " + text);
if(text=="Perro"){
AsyncHttpClient client = new AsyncHttpClient();
client.get("domain+php", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if(statusCode==200){
try {
JSONArray jsonArray = new JSONArray(new String(responseBody));
for (int i=0; i<jsonArray.length();i++){
System.out.println("COMES DATA " + jsonArray.getJSONObject(i).getString("Nombre"));
Perros.add(jsonArray.getJSONObject(i).getString("Nombre"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(CrearPost.this, android.R.layout.simple_dropdown_item_1line, Perros);
sp_Raza.setAdapter(adapter);
sp_Raza.setThreshold(1);
}
}
});
我已经检查了 logcat 并且文本似乎没有给出任何回复。但是我是 AutoCompleteTextViews 的新手,所以我不知道我可以用什么方法来解决这个问题。
如有任何帮助,我们将不胜感激
要从 AutoCompleteTextView
获取文本,您应该使用
String text = sp_Especie.getText().toString();
而不是
String text = sp_Especie.toString();
您的代码将是
sp_Raza.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AutoCompleteTextView sp_Especie = (AutoCompleteTextView) findViewById(R.id.sp_Especie);
String text = sp_Especie.getText().toString();
System.out.println("COMES DATA " + text);
if ("Perro".equals(text)) {
// TODO: Write your code here
}
}
});
我一直在尝试从我的一个 AutoCompleteTextView(sp_Especie) 中获取一个 selectedItem 并将其传递给 字符串变量,所以我可以在另一个(sp_Raza)的 if 条件下使用它,但没有成功。
这是我的代码:
final ArrayList Perros = new ArrayList();
String[] datos = new String[]{"Perro", "Gato"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(CrearPost.this, android.R.layout.simple_dropdown_item_1line, datos);
sp_Especie.setAdapter(adapter);
sp_Especie.setThreshold(1);
sp_Raza.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AutoCompleteTextView sp_Especie = (AutoCompleteTextView) findViewById(R.id.sp_Especie);
String text = sp_Especie.toString();
System.out.println("COMES DATA " + text);
if(text=="Perro"){
AsyncHttpClient client = new AsyncHttpClient();
client.get("domain+php", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if(statusCode==200){
try {
JSONArray jsonArray = new JSONArray(new String(responseBody));
for (int i=0; i<jsonArray.length();i++){
System.out.println("COMES DATA " + jsonArray.getJSONObject(i).getString("Nombre"));
Perros.add(jsonArray.getJSONObject(i).getString("Nombre"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(CrearPost.this, android.R.layout.simple_dropdown_item_1line, Perros);
sp_Raza.setAdapter(adapter);
sp_Raza.setThreshold(1);
}
}
});
我已经检查了 logcat 并且文本似乎没有给出任何回复。但是我是 AutoCompleteTextViews 的新手,所以我不知道我可以用什么方法来解决这个问题。
如有任何帮助,我们将不胜感激
要从 AutoCompleteTextView
获取文本,您应该使用
String text = sp_Especie.getText().toString();
而不是
String text = sp_Especie.toString();
您的代码将是
sp_Raza.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AutoCompleteTextView sp_Especie = (AutoCompleteTextView) findViewById(R.id.sp_Especie);
String text = sp_Especie.getText().toString();
System.out.println("COMES DATA " + text);
if ("Perro".equals(text)) {
// TODO: Write your code here
}
}
});