在下面的代码中正常工作并在打开活动时显示帮助屏幕,但我希望永远显示一次,
我能做什么?
我应该在代码中添加什么?
我的代码:
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 :(得分:0)
您可以使用SharedPrefereces
设置一个变量来检查您是否向用户显示了对话框,这是一个示例:
SharedPreferences prefs = this.getSharedPreferences("com.you.app", Context.MODE_PRIVATE);
Boolean dialogShown = prefs.getBoolean("dialogShown", false);
然后检查dialogShown
的值是否为false(您不需要先设置它,因为它将默认为我们调用它的方式),然后在下面的代码中执行一些代码,如果dialogShown
为false,则仅,这意味着我们可以在条件内执行所有对话框内容:
if(!dialogShown){
//Your show dialog code
prefs.edit().putBoolean("dialogShown",true).commit();
}
因此,下次我们检查共享首选项上的dialogShown
值时,true
将不会显示该对话框。我相信这是最常见的做法。
答案 1 :(得分:0)
有一个解决方案..
当应用程序第一次启动时,然后将共享首选项保存到应用程序..
现在每次检索共享首选项并检查它是否存在,然后转到下一个屏幕
答案 2 :(得分:-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;
}
}