2014-03-07 56 views
1

以下代碼正常工作並顯示幫助屏幕時打開活動但我要永久顯示一次,如何幫助屏幕顯示一次只在android

我該怎麼辦?

我應該在代碼中添加什麼?

我的代碼:

public class KhatmMain extends Activity implements OnClickListener{ 
Context ctx; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ctx = this; 
    setContentView(R.layout.khatmmain); 

    showOverLay(); 
. 
. 
. 

} 

private void showOverLay(){ 

final Dialog dialog = new Dialog(ctx, android.R.style.Theme_Translucent_NoTitleBar); 

dialog.setContentView(R.layout.overlay_view); 

LinearLayout layout = (LinearLayout) dialog.findViewById(R.id.overlayLayout); 

layout.setOnClickListener(new OnClickListener() { 

    @Override 

    public void onClick(View arg0) { 

     dialog.dismiss(); 

    } 

}); 

dialog.show(); 

} 
} 
+0

可能重複[如何顯示一個一次性的歡迎屏幕?](http://stackoverflow.com/questions/3976406/how-to-display-a-one-time-welcome-screen) –

回答

0

您可以使用SharedPrefereces設置一個變量,將檢查,如果你已經所示的對話框尚未給用戶,或者不是,這裏是一個例子:

SharedPreferences prefs = this.getSharedPreferences("com.you.app", Context.MODE_PRIVATE); 
Boolean dialogShown = prefs.getBoolean("dialogShown", false); 

然後檢查dialogShown的值是否爲false(您不需要先設置它,因爲它將默認爲我們調用它的方式),然後在下面的代碼中我們執行一些代碼,只有如果dialogShown是假的,這意味着我們可以做所有的對話框裏面的東西是有條件的:

if(!dialogShown){ 
    //Your show dialog code 
    prefs.edit().putBoolean("dialogShown",true).commit(); 
} 

所以接下來我們檢查的共享偏好的dialogShown值,時間會很true,以不顯示對話框。我相信這是最常見的做法。

+0

okey,那就對了! – user3325172

0

有一個解決方案..

當應用程序第一次開始,然後保存每一次您檢索共享偏好和檢查共享偏好的應用..

現在,如果它的存在,然後移動到下一個屏幕

+0

這是不相關的例子,但在這個例子中,快捷方式是在應用程序開始時創建一個單獨的應用程序http://pulse7.net/android/android-application-shortcut-home-screen/ –

-1

使用此代碼:

public class KhatmMain extends Activity implements OnClickListener{ 
Context ctx; 
Boolean showOneTime = true; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ctx = this; 
    setContentView(R.layout.khatmmain); 

    showOverLay(); 
. 
. 
. 

} 

private void showOverLay(){ 
    if (showOneTime == false) { 
     return; 
    } 
final Dialog dialog = new Dialog(ctx, android.R.style.Theme_Translucent_NoTitleBar); 

dialog.setContentView(R.layout.overlay_view); 

LinearLayout layout = (LinearLayout) dialog.findViewById(R.id.overlayLayout); 

layout.setOnClickListener(new OnClickListener() { 

    @Override 

    public void onClick(View arg0) { 

     dialog.dismiss(); 

    } 

}); 

dialog.show(); 
showOneTime = false; 
} 
}