Правильна ли моя логика? - основной вид и выходной вид - PullRequest
0 голосов
/ 31 марта 2012

Я запутался здесь.

Что делает моя программа:

  • отображает представление ( main layout), которое позволяет пользователю вводить некоторые значения (содержитTextViews, EdiTexts, одна кнопка)
  • при нажатии кнопки она связывается с сервером и получает данные (HTTP POST - использует AsyncTask и получает результат)
  • теперь форматирует эти данные (результат с сервера)и отобразить его в другом макете ( выход макет)
  • , когда пользователь нажимает кнопку «Назад», он возвращается на главную страницу ( основной макет), чтобы позволить пользователю войтиновые данные и выборочный вывод с сервера снова

Что я сделал:

  • Я создал действие под названием «MyApp»
  • создал две схемы -main & output
  • создан код обработчика кнопки для кнопки «Отправить» (основного макета) для запуска AsyncTask и для отправки и извлечения данных HTTP
  • в onPostExecute (), я написал кодотобразить вывод макет (setContentView(R.layout.output);) и создать TextViews в нем и setText для установки текста.

После прочтения некоторых статей я обнаружил, что должен использовать отдельное действие для отображения вывода.Передайте данные из операции извлечения моего основного действия во второе действие (выходное действие) и отформатируйте их там и напишите код для обработчика нажатия кнопки, чтобы вернуться к основному действию.Чтобы отправить данные из основного действия в выходное, я должен использовать Bundle.Правильный ?Есть ли что-нибудь позаботиться, кроме этого?Пожалуйста, ведите меня.

Ответы [ 2 ]

0 голосов
/ 31 марта 2012
In onPostExecute() call new activity with your data.

i.e., 
Intent i = new Intent(firstactivity.this,secondactivity.class);
i.putExtra("key","value");
startActivity(i);
 and in the second activity you can read value as below

value = getIntent().getStringExtra("key"); // if in first activity value is string 
value = getIntent().getBooleanExtra("key"); // if in first activity value is boolean 

Try this....
0 голосов
/ 31 марта 2012

В mainActivity вы устанавливаете намерение вызвать outputActivity.

Intent intent = new Intent();

Вы добавляете свои поля EditText в намерение следующим образом:

intent.putExtra("aNameYouInvent", value);

Затем запускаете его:

startActivity(intent);

Вы должны поместить AsyncTask в outputActivity, оно будет извлекать ваши http-данные, не влияя на скорость отклика пользовательского интерфейса.Чтобы вернуть ваши данные, вы должны

value = getIntent().getIntentExtra("aNameYouInvent");

Наконец, вам не нужна программная кнопка возврата, если вы не хотите, аппаратная кнопка будет работать.

С наилучшими пожеланиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...