Так что я просто пытаюсь создать диалог оповещений, который является просто сообщением (без кнопок или заголовков). Я хочу отобразить диалоговое окно предупреждения, когда выполняется фоновое задание. Диалоговое окно предупреждения будет запущено в потоке пользовательского интерфейса.Не удается разрешить символ AlertDialogActivity
Вот что я сделал до сих пор:
protected void onPreExecute() {
super.onPreExecute();
AlertDialog altDlg;
altDlg = new AlertDialog.Builder(AlertDialogActivity.this).create();
altDlg.setMessage("Retrieving Information. Please Wait");
altDlg.show();
}
Я также попытался это сделать:
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setMessage("Retrieve Info. Please Wait").show();
Ошибка я получаю с первым является:
cannot find symbol 'AlertDialogActivity'
symbol: class AlertDialogActivity
location: class com.example.Device.Activity
Вторая ошибка попытки говорит:
incompatible types: com.example.Device.Activity cannot be converted to android.content.Context
Я не уверен, что я делаю неправильно в любом сценарии. Я просто хочу показать базовое сообщение, когда выполняется фоновое задание, и я надеялся, что самое близкое, что я могу использовать, это AlertDialog.
EDIT для того, как настроить AsyncTask правильно:
Малый фон из того, что я хочу сделать. Я просто хочу прочитать в файле, десериализировать его и сохранить его содержимое в db.
Сейчас я предполагаю, что мне нужны только два вида деятельности.
Одна моя основная деятельность:
public class MainActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setup);
final Button setup_button = (Button) findViewById(R.id.setup_button);
setup_button.setOnClickListener (new View.OnClickListener() {
public void onClick(View view){
setContentView(R.layout.retrieve_info);
}
});
}
}
Теперь событие OnClick просто переходит на новый взгляд, который должен отобразить сообщение или диалог предупреждения, который говорит извлечение информации. Пожалуйста, подождите. Он отображает сообщение во время чтения файла и сохранения на db. После того, как файл будет считан и сохранен, сообщение должно исчезнуть и сказать что-то вроде завершения установки.
Моя вторая активность до сих пор:
public class RetrieveInfoActivity extends AsyncTask<Void,Void,Void> {
private ProgressDialog progressBar;
private void retrieveInfo(String fileName) {
try {
File file = new File(fileName);
Scanner scanner = new Scanner(file);
//Read all the lines until there are no more lines
while (scanner.hasNextLine()) {
scanner.nextLine();
//TODO: deserialize and save to db
}
scanner.close();
}
catch (FileNotFoundException e) { e.printStackTrace(); }
}
@Override
protected Void doInBackground(Void... params) {
retrieveInfo("test.txt");
return null;
}
protected void onPreExecute() {
super.onPreExecute();
progressBar.setIndeterminate(true);
progressBar.setCancelable(false);
progressBar.setMessage("Retrieve Information.Please wait");
progressBar.show();
}
@Override
protected void onPostExecute() {
progressBar.dismiss();
}
}
Это все, что я на самом деле до сих пор. Мне просто нужно понять, как установить это в Android концептуально.
Надеюсь, что это имеет смысл.
Как называется деятельность? – Blackbelt
Какой класс вы продлеваете? – Simas
Я расширяю AsyncTask. –