EditText: как удалить «нулевую» строку, полученную из Json - PullRequest
0 голосов
/ 06 марта 2019

Можно ли как-нибудь исключить "нулевую" строку текста редактирования, извлеченного из ответа JSONObject?и просто показать пустой EditText.

Он сделал это следующим образом.

 if (jsonResponse.getString(DataManager.Name).equals("null"){
    edtName.setText("");
 }else{

  edtName.setText(jsonResponse.getString(usersDataInfo.getNombre()));

 }

Но когда поле приходит с информацией, оно снова вводит инструкцию и удаляет информацию.

JSON

{
    "ID": 23,
    "NOMBRE": null,
    "APELLIDOPATERNO": null,
    "APELLIDOMATERNO": null,
    "TELEFONO": null,
    "CELULAR": null,
    "NACIMIENTO": null,
    "SEXO": null,
    "USUARIOID": 7
}

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Я создал образец, и у меня он работает, посмотрите:

public class MainActivity extends AppCompatActivity {

    private EditText etEjemplo;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etEjemplo = findViewById(R.id.etEjemplo);

        String json = "{\n" +
                "\t\"ID\": 23,\n" +
                "\t\"NOMBRE\": null,\n" +
                "\t\"APELLIDOPATERNO\": null,\n" +
                "\t\"APELLIDOMATERNO\": null,\n" +
                "\t\"TELEFONO\": null,\n" +
                "\t\"CELULAR\": null,\n" +
                "\t\"NACIMIENTO\": null,\n" +
                "\t\"SEXO\": null,\n" +
                "\t\"USUARIOID\": 7\n" +
                "}";

        try {
            JSONObject jObj = new JSONObject(json);
            String nombre = jObj.getString("NOMBRE");
            //You can use jObj.isNull("NOMBRE") instead
            if(nombre.equals("null")){
                etEjemplo.setText("");
            }
            else{
                etEjemplo.setText(nombre);
            }
            //One line case 
            //etEjemplo.setText(nombre.equals("null") ? "" : nombre);
            //or
            //etEjemplo.setText(jObj.isNull("NOMBRE") ? "" : nombre);
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
}
1 голос
/ 06 марта 2019

Используйте метод isNull () для проверки на нулевое значение.

т.е.:

if (jsonResponse.isNull("NOMBRE")) {
  edtName.setText("")
} else {
  edtName.setText(jsonResponse.getString("NOMBRE"))
}

или, если вы возвращаетесь, просто:

jsonResponse.isNull("CELULAR") ? (return someting) : (return another thing)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...