0
我有3個活動。 A,B,C 我從活動A. 活動B,從意圖設置字符串由getExtra我需要另一個額外的活性C,然後回到活動B.從3個活動之間的意圖保存額外
但之後,我回到活動B,我失去了額外的活動A. 我試圖使用savedPreferenced,將啓動更改爲singleTop。 但我的應用程序崩潰。 如何從意圖保存額外的東西?
我找不到完整的教程來做到這一點。
我是新手,需要一些詳細的解釋。謝謝。
這是我用於從活性的發送額外到B的代碼:
void sendTxt() {
String shareBody = getPlainDocumentText();
if (shareBody == null) {
Toast.makeText(A.this, R.string.empty_document, Toast.LENGTH_LONG).show();
return;
}
Intent i = new Intent(A.this, B.class);
String txt = shareBody;
i.putExtra("file", txt);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
Screen.unlockOrientation(A.this);
}
這是代碼我曾經getExtra在乙從A:
public String teks;
if (savedInstanceState == null){
Bundle extras = getIntent().getExtras();
if(extras==null){
teks = null;
}else{
teks = extras.getString("file");
}
}else{
teks = (String) savedInstanceState.getSerializable("file");
}
t = (TextView)findViewById(R.id.txt);
t.setText(teks);
然後我從活動移動B到C:
Intent i = new Intent(B.this, C.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
在活動C,我回到B和增派到B:
Intent i = new Intent(C.this, B.class);
String path = dir.getAbsolutePath().toString();
i.putExtra("dir", path);
setResult(RESULT_OK, i);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
在B I收到額外的C,但失去了從A
多餘的,我不能顯示日誌,因爲我沒有使用模擬器。我只是通過創建APK測試我的應用程序,因爲我的筆記本電腦不支持虛擬仿真
請與我們分享您的密碼。 –
plz粘貼你的getextra代碼和錯誤日誌。 –
更新..這些是我的代碼 – ranysella