Как использовать данные, подобранные в классе в другой?

Вещь состоит в том, что у меня есть эти три класса, с которыми я играю:

chatListResponsehandler.java

public class chatListResponseHandler extends AsyncHttpResponseHandler {

    private Context context = null;

    public chatListResponseHandler(Context context) {
        this.context = context;
    }

    @Override
    public void onSuccess(int i, Header[] headers, byte[] bytes) {

        dataChatsUser usersChat= new dataChatsUser();

        Gson gson = new Gson();
        String bytesResponse = new String(bytes);

        chatListData listChat = gson.fromJson(bytesResponse, chatListData.class);
        String array[]=new String[listChat.getChats().size()];
        for (int x = 0; x < listChat.getChats().size(); x++) {

            String pepe = listChat.getChats().get(x).getUsers().get(1).getName();
            array[x]=pepe;
        }
        usersChat.setUsernames(array);

        Intent listChatAd = new Intent(this.context, listChatAdapter.class);
        this.context.startActivity(listChatAd);
    }
}

listChatAdapter.java

public class listChatAdapter extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Toast.makeText(getApplicationContext(), "llega", Toast.LENGTH_SHORT).show();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_chat_layout);

            dataChatsUser dataChatUs =new dataChatsUser();
            String[] array = dataChatUs.getUsernames();
    }
}

dataChatsUser.java

public class dataChatsUser {
        private String[] usernames;

        public void setUsernames(String[] usernames){
                this.usernames=usernames;
        }
        public String[] getUsernames(){
                return this.usernames;
        }
}

Вопрос состоит в том, что я подбираю данные, которых я прошу со способа REST до сервера и отсюда иду в onSuccess chatListResponseHandler, я подбираю данные этих пользователей в array, и перемещаю их его в класс dataChatsUser с намерением сохранять их, и что, во время которого они сохраняли меняться Activity и подбирать их с одним getUsernames() в chatListAdapter. Но весь промежуток времени стоимость дает мне null. Почему он может быть? Он делается, как я стараюсь делать это?

2
задан 14.04.2017, 11:10
1 ответ

Но весь промежуток времени стоимость дает мне null. Почему он может быть?

В классе listChatAdapter.java ты создаешь новую инстанцию, которая не в ту, которая ты оригинально сохранял стоимость, по этой причине не получаешь данных.

 dataChatsUser dataChatUs =new dataChatsUser();
 String[] array = dataChatUs.getUsernames();

Как выбор ты можешь создавать публичную переменную usersChat в классе chatListResponseHandler, в которой ты сохраняешь стоимость, но эта переменная сможет быть прочитанной другим классом и публичным методом, чтобы извлекать эту стоимость getDataChatUs().

public class chatListResponseHandler extends AsyncHttpResponseHandler {

    private Context context = null;
    public dataChatsUser  usersChat;

    private Context context = null;

  public chatListResponseHandler(Context context) {
    this.context = context;
}

  @Override
  public void onSuccess(int i, Header[] headers, byte[] bytes) {

       //dataChatsUser usersChat= new dataChatsUser();
        usersChat= new dataChatsUser();
        ...
        ...
      String pepe = usersChat.setUsernames(array);
       ...
   }

  public dataChatsUser getDataChatUs(){
      return usersChat;
  } 
}

Таким образом, посредством метода getDataChatUs() ты мог бы получать данные.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Toast.makeText(getApplicationContext(), "llega", Toast.LENGTH_SHORT).show();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_chat_layout);

            //dataChatsUser dataChatUs = new dataChatsUser();
            //String[] array = dataChatUs.getUsernames();
           String[] array = chatListResponseHandler.getDataChatUs();
    }
}
2
ответ дан 24.11.2019, 11:57
  • 1
    сейчас ú nico проблема, которая появляется у меня в части chatListResponseHandler.getDataChatUs (); он появляется у меня, что " mé весь está костариканский getDataChatUS не может быть снабженным ссылками в mé весь está костариканский. – Zaldaiz 21.12.2016, 03:50
  • 2
    ups! public static dataChatsUser getDataChatUs () { @Zaldaiz – Jorgesys♦ 21.12.2016, 17:23

Теги

Похожие вопросы