3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
您的問題是由錯(cuò)誤的 Java 語法引起的。你不能直接嵌套在類體中編寫可執(zhí)行代碼,它不會(huì)編譯!
為了使其工作,您可以將代碼 ( if(!agreed) {...}
)括在大括號(hào)中,{if(!agreed){...}}
這將使其成為初始化程序。此代碼將正確編譯,但在您的情況下,您仍然可能遇到問題..
由于您在 Android 上,運(yùn)行初始化代碼的標(biāo)準(zhǔn)方法是在內(nèi)部onCreate()
回調(diào)方法中編寫,這Activity
是創(chuàng)建新方法時(shí)運(yùn)行的第一個(gè)方法。

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
你不能在那里添加你的代碼,這是非法的(至少,沒有聲明它的范圍)。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_main);
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
if(! sharedPreferences.getBoolean("agreed", false)) {
new AlertDialog.Builder(this, R.style.AlertDialog)
.setIcon(R.drawable.ic_error_black_24dp)
.setTitle(R.string.eula_title)
.setMessage(R.string.eula)
.setPositiveButton(R.string.accept, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("agreed", true);
editor.apply();
dialog.dismiss();
}
})
.setNegativeButton(R.string.decline, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
finish();
}
})
.show();
}
...
}
添加回答
舉報(bào)