我試圖在用戶第一次下載應用程序後再運行此對話框,然後再次顯示。Android應用啓動時的AlertDialog
這裏是我的代碼:
Thread t = new Thread(new Runnable() {
@Override
public void run() {
SharedPreferences getPrefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
boolean isFirstStart = getPrefs.getBoolean("key", true);
if (isFirstStart) {
//Line 39 is next
new AlertDialog.Builder(MainActivity.this)
.setTitle("Sample Title")
.setMessage("Sample Message")
.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
}
})
.show();
SharedPreferences.Editor e = getPrefs.edit();
e.putBoolean("key", false);
e.commit();
}
}
});
t.start();
此代碼是在FragmentActivity內的onCreate方法。特別是有三個滾動選項卡。
我正在以下RunTimeError:
03-13 16:54:02.803 6759-6784/com.hidden.hidden E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-7125
Process: com.hidden.hidden, PID: 6759
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:200)
at android.os.Handler.<init>(Handler.java:114)
at android.app.Dialog.<init>(Dialog.java:109)
at android.app.AlertDialog.<init>(AlertDialog.java:114)
at android.app.AlertDialog$Builder.create(AlertDialog.java:931)
at android.app.AlertDialog$Builder.show(AlertDialog.java:950)
at com.hidden.hidden.MainActivity$1.run(MainActivity.java:39)
at java.lang.Thread.run(Thread.java:841)
注:包名是隱藏的安全性。
我哪裏錯了?
感謝您的任何幫助。
消除'Thread'並將這些代碼直接放在你的'onCreate()'中,你應該沒問題。 – codeMagic
@codeMagic - Duh,謝謝;) –
;)沒問題... – codeMagic