2013-09-27 4 views
0

У меня есть 3 действия, которые делают какой-то доступ к сети и получают ответ с 3 соответствующими макетами xml (я назову его A, B, C). A передает данные в B через Intent и B передает данные на C через Intent. Когда я запускаю приложение, на эмуляторе появляется только третье действие/экран.Отображается только последнее действие

Как сохранить последовательность, так как A сначала отображается, я нажал кнопку, затем перейдите к B, затем нажмите кнопку, затем перейдите к C. (Должен ли я использовать жизненный цикл активности, так как каждое действие получает ответ . после доступа к сети)

код (соответствующие части) составляет:

A- 
     username = (EditText) findViewById(R.id.editTextusername); 
     password = (EditText) findViewById(R.id.editTextpassword); 

     submit = (Button)findViewById(R.id.submit); 
     //sampletext = (TextView) findViewById(R.id.textView1); 

     submit.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if(username.getText().length()>0 && password.getText().length()>0) 
     { 
      URLconnector ss = new URLconnector(); 
      ss.execute("SOME URL"); 

     //network access in an async task, get response, 
     } 

Intent part of activity A - on post execute method of async task 

if(result != null) 
      { 
      Intent intentA = new Intent(mContext, B); 
      Bundle bundle = new Bundle(); 
      bundle.putString("responsedata",result.substring); 

      tokenIntent.putExtras(bundle); 
      startActivity(intentA); 


B- 

URLconnector ss = new URLconnector(); 
      ss.execute("SOME URL"); 

     //network access in an async task, get response, 
     } 

Intent part of activity B - on post execute method of async task 

if(result != null) 
      { 
      Intent intentB = new Intent(mContext, c); 



      startActivity(tokenIntent); 



c- 

URLconnector ss = new URLconnector(); 
      ss.execute("SOME URL"); 

     //network access in an async task, get response, 
     } 

Intent part of activity c- on post execute method of async task 

if(result != null) 
      { 




       text3.setText(result); 

} 
+1

Не можете написать свой код? Вам будет намного легче помочь вам, как только вы опубликуете его. – MrByte

+0

@DemVoids Конечно, я разместил соответствующие части. Пожалуйста, проверьте сейчас. – androidnoob

ответ

0

Если желаемый эффект должен иметь один триггер следующий, и вы хотите, чтобы сделать паузу между ними, то вам необходимо иметь какой-то запрос блока от пользователя, препятствующий его переходу на следующий экран.

Если у вас есть они просто звонят друг другу, то, конечно, они будут стрелять быстрее, чем любые визуальные сигналы, которые вы хотите настроить. В зависимости от того, что вы хотите сделать, установите предупреждающие сообщения или укажите кнопки, как вы упомянули, для продвижения вперед. Похоже, что ваш архитектурный дизайн будет лучше отображать все, что вам нужно, на одном экране, а не использовать несколько экранов в одном действии. Вместо того, чтобы просто прогрессировать через все три. Возможно, с вами работают 2 AsyncTasks.

+0

Спасибо за ввод, сетевые ответы огромны и не помещаются в один экран (по крайней мере, на моем эмуляторе). – androidnoob

+0

Если вы просто показываете ответы, которые не подходят на одном экране, но вы просто показываете много данных, тогда сделать прокручиваемую информацию нужно делать просто отлично. –

+0

Итак, сделайте вид прокрутки? Имеет смысл. Приветствия! – androidnoob

Смежные вопросы