Я новичок в разработке Android. Я пытаюсь показать ProgressDialog
. Я вижу много учебников, которые говорят, что для отображения диалога должен использоваться поток. Как вы можете видеть, код фрагмента использует поток.ProgressDialog не работает даже с помощью потока
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
refreshFromFeed();
} catch (InterruptedException e) {
e.printStackTrace();
}
setContentView(R.layout.activity_main);
}
private void refreshFromFeed() throws InterruptedException {
ProgressDialog dialog = ProgressDialog.show(this,"Loading","Wake up after some sleep");
Thread th = new Thread(){
public void run(){
Log.d("TimeFrom", String.valueOf(System.currentTimeMillis()/1000));
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.d("TimeTo", String.valueOf(System.currentTimeMillis()/1000));
}
};
th.start();
dialog.dismiss();
}
protected void onRefresh(View view) throws InterruptedException {
refreshFromFeed();
}
Журнал показывает, потребовалось 5 секунды, однако, я не могу увидеть любой диалог на моем экране, и я могу сделать что-нибудь на экране. Даже я использую на физическом устройстве. Я использовал режим отладки. Не исключение.
onRefresh
это событие по onClick
, что заявленный на его XML.
Ваши права. Я должен изменить метод reject(). однако он не работает снова :( –
add dialog.show() после Threat th –
Спасибо, он работает очень хорошо –