0

ある種のネットワーク アクセスを実行し、対応する 3 つの xml レイアウトで応答を取得する 3 つのアクティビティがあります (A、B、C と呼びます)。A は Intent を介して B にデータを渡し、B は Intent を介して C にデータを渡します。アプリケーションを実行すると、エミュレーターに 3 番目のアクティビティ/画面のみが表示されます。

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);

}
4

1 に答える 1

0

目的の効果として、あるトリガーを次のトリガーにすることで、その間に一時停止する場合は、次の画面に進むのを防ぐために、ユーザーからの何らかのブロック要求が必要です。

互いに呼び出しているだけの場合は、表示するように設定した視覚的な手がかりよりも速く起動します。やりたいことに応じて、警告メッセージを表示するか、先に進むために言及したボタンを提供します。1 つのアクティビティで複数の画面を使用するよりも、必要なものすべてを 1 つの画面に表示する方が建築設計に適しているように思えます。3つすべてを進めるのではなく。おそらく、2 つの AsyncTasks が機能します。

于 2013-09-27T14:32:12.603 に答える