Я разработал приложение для Android 4.0.3 (Ice-cream Sandwich), я использую два действия для проверки навигации по действиям. Но я заметил другое поведение в навигации по действиям.
Я вызываю действие B из действия A. В действии B я просто вызываю метод finish (). Чтобы мы могли видеть предыдущее действие A. Оно работает точно так, как ожидалось, но проблема заключается в обратной навигации (вызов метода завершения или нажатие клавиши возврата), он вызывает метод onCreate () действия A вместо вызова onResume ( ). Но в предыдущих версиях это не так. Это новая реализация в android 4.0 ??
Вот пример, который я реализовал:
Activity_A:
public class Activity_A extends Activity {
/** Called when the activity is first created. */
static int count=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView text=(TextView)findViewById(R.id.textcontent);
text.setText("Activity 1 called:"+(++count)+" Times");
}
public void onClick(View v)
{
Intent intent=new Intent(this,Activity2.class);
startActivityForResult(intent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("onActivityResult", "Called with Code:"+resultCode);
}
}
Activity_B:
public class Activity_B extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView text=(TextView)findViewById(R.id.textcontent);
text.setText("Activity 2");
}
public void onClick(View v)
{
setResult(1);
finish();
}
}
Пожалуйста, проверьте и дайте мне знать, если я делаю какую-либо ошибку.
Спасибо, Баран.