Java Android-导航到上一屏幕

Java Android-导航到上一屏幕,java,android,android-intent,Java,Android,Android Intent,正如这里解释的,我有一个问题。我有a类,B类。两者都有意图s导航到C类。现在,我想知道我从哪个类导航到类C,这样我就可以导航到上一个屏幕A或B。在Class C中调用finish()对我没有帮助,因为我需要以不同的方式更新Class A和Class B中的数据。谁能帮帮我吗。如何在这里使用意图?我可以知道我必须从哪个类导航到类C?您应该使用startActivityForResult并覆盖onActivityResult回调。这样,您就可以安全地更新数据,而不必知道您来自哪个活动 public

正如这里解释的,我有一个问题。我有
a类
B类
。两者都有
意图
s导航到
C类
。现在,我想知道我从哪个
导航到
类C
,这样我就可以导航到上一个屏幕
A或B
。在
Class C
中调用
finish()
对我没有帮助,因为我需要以不同的方式更新
Class A
和Class B中的数据。谁能帮帮我吗。如何在这里使用意图?我可以知道我必须从哪个类导航到
类C

您应该使用
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();
 } 
}

您应该使用
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();
 } 
}

在类A和B中,放置一个类似布尔“isclassA”的参数,并对其进行测试以了解情况。 就A类而言:

intent.putExtra("isfromclassA",true);
就B类而言:

intent.putExtra("isfromclassA",false);
因此,在你们C班:

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

在类A和B中,放置一个类似布尔“isclassA”的参数,并对其进行测试以了解情况。 就A类而言:

intent.putExtra("isfromclassA",true);
就B类而言:

intent.putExtra("isfromclassA",false);
因此,在你们C班:

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

你能帮我拿个样品吗?@aɐpɥuı:看看
http://stackoverflow.com/questions/10407159/android-how-to-manage-start-activity-for-result
你能帮我拿个样品吗?@aɐpɥuı:看看
http://stackoverflow.com/questions/10407159/android-how-to-manage-start-activity-for-result
这是简单的。。。我已经按照你建议的方式做了。。。谢谢这很简单。。。我已经按照你建议的方式做了。。。谢谢