来自AutoCompleteTextView的GetSelectedItem /值[不起作用]

时间:2018-09-13 01:18:39

标签: android autocompletetextview

我一直在尝试从我的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的新手,所以我不知道我可以使用什么方法来解决这个问题。

任何帮助都会受到高度重视

1 个答案:

答案 0 :(得分:0)

要从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
                }
            }
});