仅显示最后一个活动

时间:2013-09-27 14:23:18

标签: android networking android-intent android-activity

我有3个活动可以进行某种网络访问并获得3个相应xml布局的响应(我将其称为A,B,C)。 A通过Intent将数据传递给B,B通过Intent将数据传递给C.当我执行应用程序时,只有第三个活动/屏幕显示在模拟器上。

如何保留序列,如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 个答案:

答案 0 :(得分:0)

如果想要的效果是让一个触发器在下一个触发器之间,并且您希望它们在两者之间暂停,那么您需要从用户那里获得某种阻止请求,防止它进入下一个屏幕。

如果你让他们只是互相呼叫,那么他们肯定会比你设置的任何视觉提示更快地发射。根据您的要求,提出警报消息或提供您提到的按钮以继续前进。听起来好像你的建筑设计最好不要在一个屏幕上显示你想要的一切,而不是在一个活动中使用多个屏幕。而不只是通过所有三个进展。也许2个AsyncTasks正在为你工作。