Я не могу сохранять данные в классе User, возврати null, назвав это

У меня есть класс SessionFragment

public class SessionFragment extends Fragment implements Response.Listener<JSONObject>, Response.ErrorListener {

RequestQueue rq;
JsonRequest jrq;
EditText cajaUser, cajaPwd;
Button btnIniciarSesion;

private void iniciarSesion(){
    User users = new User();

    users.setNames("nombres");
    // se llama a las cajas de texto que se ingresan en el inicio de session
    String url="http://fedesur.cl/sesion.php?user="+cajaUser.getText().toString()+"&pwd="+cajaPwd.getText().toString();
    jrq = new JsonObjectRequest(Request.Method.GET, url, null, this, this);
    rq.add(jrq);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        @Nullable Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    //return inflater.inflate(R.layout.fragment_session, container, false);

    View vista = inflater.inflate(R.layout.fragment_session, container, false);
    cajaUser=(EditText)  vista.findViewById(R.id.txtUser);
    cajaPwd=(EditText) vista.findViewById(R.id.txtPwd);
    btnIniciarSesion = (Button) vista.findViewById(R.id.iniciarsesion);



    rq = Volley.newRequestQueue(getContext());
    btnIniciarSesion.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            iniciarSesion();
        }

    });


    return vista;
}

@Override
public void onErrorResponse(VolleyError error) {
    Toast.makeText(getContext(),"Verifique sus datos",Toast.LENGTH_SHORT).show();

}

@Override
//ACCESO CORRECTO QUE HACER

public void onResponse(JSONObject response) {

JSONArray jsonArray = response.optJSONArray("datos");
JSONObject jsonObject = null;


    Intent intent = new Intent(getActivity(),Home.class);
    startActivity(intent);



try{
    User usuarionuevo = new User();

    jsonObject = jsonArray.getJSONObject(0);
    usuarionuevo.setUser(jsonObject.optString("usuario"));
    usuarionuevo.setPwd(jsonObject.optString("pass"));
    usuarionuevo.setNames(jsonObject.optString("nombre"));

}catch (JSONException e){
    e.printStackTrace();
}



    }










}

и у меня есть класс User

public class User {

private String user;
private String pwd;
private String names;


public String getUser() {
    return user;
}

public void setUser(String user) {
    this.user = user;
}

public String getPwd() {
    return pwd;
}

public void setPwd(String pwd) {
    this.pwd = pwd;
}

public String getNames() {
    return names;
}

public void setNames(String names) {
    this.names = names;
}
}
0
задан 19.03.2019, 03:18
1 ответ

Чтобы уверять получи различную стоимость null, это важно проверь, что ты peticiГіn оно функционирует, и ты получаешь такой объект как ответ.

Сейчас относительно твоего объекта, ты должен определять переменную твоего объекта на уровне класса для того, чтобы ты прочитал стоимость во всем Fragment:

//Define variable para almacenar objeto.
private User usuarionuevo;

Из этой формы, реализовав ее peticiГіn, ты можешь хранить свойства объекта и использовать их в любой части тебя Fragment:

public void onResponse(JSONObject response) {

    JSONArray jsonArray = response.optJSONArray("datos");
    JSONObject jsonObject = null;


    Intent intent = new Intent(getActivity(),Home.class);
    startActivity(intent);



    try{
        //User usuarionuevo = new User();
         usuarionuevo = new User();

        jsonObject = jsonArray.getJSONObject(0);
        usuarionuevo.setUser(jsonObject.optString("usuario"));
        usuarionuevo.setPwd(jsonObject.optString("pass"));
        usuarionuevo.setNames(jsonObject.optString("nombre"));

    }catch (JSONException e){
        e.printStackTrace();
    }



}
1
ответ дан 02.12.2019, 05:28