Android - 导航到上一个屏幕

时间:2013-05-27 09:13:08

标签: java android android-intent

我有一个问题,如此处所述。我有Class AClassB。两者都有Intent个导航到Class C。现在,我想知道我导航到class的哪个Class C,以便我将A or B导航到上一个屏幕。在finish()中拨打Class C对我没有帮助,因为我需要以不同方式更新Class A和B类中的数据。任何人都可以帮助我。如何在这里使用Intent?我可以知道从哪个班级导航到Class C

2 个答案:

答案 0 :(得分:2)

您应该使用startActivityForResult并覆盖onActivityResult回调。这样,您可以安全地更新数据,而无需知道您来自哪个活动。

public class A extends Activity {
private final static int REQUEST_CODE= 1000;
public void onCreate(BUndle b) {
 ...
 Intent intent = new Intent(this, C.class);
 startActivityForResult(intent, REQUEST_CODE);
}

@override
void onActivityResult(int requestCode, int resultCode, Intent data) {
        // here through data you will receive new data
}

}

public class C extends Activity {
     public void onCreate(BUndle b) {
  // modify same data
    Intent intent = new Intent(); 

    // pute data inside intent
    setResult(Activity.RESULT_OK, intent);
    finish();
 } 
}

答案 1 :(得分:1)

在A类和B类的意图中,放置一个像boolean“isclassA”这样的参数,然后对它进行测试就知道了。 在classe的意图A:

intent.putExtra("isfromclassA",true);

在B级意图中:

intent.putExtra("isfromclassA",false);

因为你的班级C:

boolean isfromclassA = intent.getBoolExtra("isfromclassA");