У меня мало проблем с синтаксическими ошибками здесь. Ниже у меня есть alertDialog
с sharedPreference
, и если вам интересно, почему у меня это в asynctask, вы можете увидеть это Shared Prefence for alert dialog is making my application non responsive. Но проблема синтаксиса находится ниже installed
в моем onPostExecute
, и в нем говорится: «installed
не может быть перенесено на переменную». У меня также есть еще один под settings
в моем onPostExecute
, который говорит то же самое. Я знаю, что это может показаться легким решением для некоторых людей, но я считаю, что это очень сложно для кого-то вроде меня. Я также советую вам посмотреть на ссылку, если у вас есть лучший способ, чем AsyncTask
и onResume()
Проблемы с ошибкой в AsyncTask
@Override
protected void onResume() {
class asynctask extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... arg0) {
final SharedPreferences settings = getSharedPreferences("pref_name", 0);
boolean installed = settings.getBoolean("installed", false);
return null;
}}}
protected void onPostExecute(String file_ad) {
if(!installed){
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("Title");
alertDialog.setIcon(R.drawable.ic_launcher);
alertDialog.setAdapter(new MyAdapter(), null);
alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("installed", true);
editor.commit();
}
});
alertDialog.show();
}
super.onResume();
}
См. Мой ответ в связанном с вами вопросе. Надеюсь, это прояснит ситуацию. Я не знаю, почему вам сказали, что вы не можете делать какие-либо операции в 'onCreate()', это смешно. В этой ситуации нет необходимости в «AsyncTask». – codeMagic