我想問的建議有關,我想提出一個應用程序...激活對話框中的不同的屏幕
在我的應用程序,如果用戶按下屏幕1特定的按鈕,然後會出現一個對話框在屏幕2上打開屏幕2。否則,如果屏幕1上的按鈕未被點擊,則屏幕2上的對話將不會顯示。
我不是要求你們發表大量的代碼來回答問題,但我只是問爲了達到我的目標我應該遵循的步驟/算法......提前致謝!
我想問的建議有關,我想提出一個應用程序...激活對話框中的不同的屏幕
在我的應用程序,如果用戶按下屏幕1特定的按鈕,然後會出現一個對話框在屏幕2上打開屏幕2。否則,如果屏幕1上的按鈕未被點擊,則屏幕2上的對話將不會顯示。
我不是要求你們發表大量的代碼來回答問題,但我只是問爲了達到我的目標我應該遵循的步驟/算法......提前致謝!
當您創建Intent
更多信息啓動活性2設置一個額外的參數上它與
boolean showDialog=...
intent.putExtra("yourextraname", showDialog);
然後在活性2,你可以使用這個:
boolean showDialog=getIntent().getBooleanExtra("yourextraname", false);
你應該做的就是使用你的第一個活動(an activity represents a screen)中的一個Intent來傳遞一個boolean
,然後在第二個活動中加載它。在那裏,您可以讀取該值並顯示或不顯示對話框。從一個活動傳遞數據到另一個使用意圖
而不是使用意向額外兩項活動之間傳遞數據,只是將其存儲在Model類負責應用程序管理所有的數據(丙氨酸MVC設計模式) :
屏幕2必須知道它是否必須顯示對話框。因此,屏幕1必須向屏幕2發送一些數據(可能是「顯示對話框」的消息,或者可能是該對話框的內容)。
如果屏幕2接收到數據,則顯示對話框。否則,什麼也不做。
在Android中:
Intent
和startActivity()
。如果數據保存,把他們在意向書中啓動它之前(見Intent.putExtra() doc)的活性2的onCreate
getIntent()
的意圖),如果真檢查它是否包含數據或沒有(見Intent.hasExtra() doc)AlertDialog
我覺得最故障安全和簡單的解決方案將設置使用標誌SharedPreferences
代碼示例(你應該檢查對文檔):
// screen one
sharedPreferences.edit().putBoolean("showWindow", true).commit();
// screen two
if(sharedPreferences.getBoolean("showWindow", false)) {
sharedPreferences.edit().putBoolean("showWindow", false).commit();
// show Dialog
}
是的,這是有道理的......謝謝!我會盡快開始工作! :) – BurninatorDor