2013-05-27 3 views
0

에 내가 문제가 이동합니다. 나는 Class A, ClassB입니다. 둘 다 Intent을 사용하여 Class C으로 이동합니다. 지금, 나는 내가 이전 화면 중 하나 A or B로 이동 있도록 내가 Class C를 탐색 한 어느 class에서 알고 싶어요. 내가 다른 Class A 및 클래스 B의 데이터를 업데이트해야하기 때문에 Class C에서 finish()를 호출하면 도와 나던. 아무도 나를 도와주세요. 여기에서 의도를 사용하는 방법? Class C으로 이동해야하는 클래스를 알 수 있습니까?안드로이드는 - 여기에 설명 된대로 이전 화면

답변

1

는 부울 "isclassA"와 같은 매개 변수를 넣어 알고 그것에 테스트를합니다. CLASSE A의 의도에 :

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

을 ... 나도 같은에서 수행 한 // stackoverflow.com/질문/:'HTTP에서보세요 방법 u는 건의했다 ... 감사 –

2

당신은 startActivityForResult을 사용하고 onActivityResult 콜백을 오버라이드 (override) 할 필요가 있습니다. 이 방법을 사용하면 출처가 밝혀지지 않은 상태에서 데이터를 안전하게 업데이트 할 수 있습니다. 클래스 A와 B에있는 당신의 의도에

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(); 
} 
} 
+0

이 유 샘플 좀 도와 주시겠습니까 : 당신의 클래스 C에서 이에 대한

intent.putExtra("isfromclassA",false); 

:

클래스 B의 의도에
intent.putExtra("isfromclassA",true); 

? Aʌɐpɥɐuı @ –

+0

: 10407159/안드로이드 - 어떻게 관리하기-시작 활동에 대한-result'이 간단 –

관련 문제