だから私は2つのクラスを持っています。私がやろうとしているのは、MainActivityからMain2 にデータを送信し、 Logcatでログを取得し、MainActivityに制御を戻して、他のデータでステップをもう一度繰り返すことです。
しかし、私は予期しない結果を得ています。0,1,2,3,4を取得する代わりに、ランダムなシーケンスを取得します..時には逆の順序で取得します。何故ですか??これはforループの使用によるものですか??
MainActivity.java
public class MainActivity extends Activity {
int REQUEST_CODE = 0;
Intent i;
int k = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
i = new Intent(this, main2.class);
loop();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
loop();
}
}
public void loop() {
for (int j = k; j < 5; j++, k++) {
i.putExtra("value", j);
startActivityForResult(i, REQUEST_CODE);
}
}
}
Main2.java
public class main2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
int i = intent.getIntExtra("value", 0);
Log.d("Value", i + "");
setResult(RESULT_OK);
finish();
}
}