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
それのXMLで宣言onClick
によってイベントです。
あなたの権利があります。私はdismiss()メソッドを変更する必要があります。しかし、それは再び動作しません:( –
add dialog.show();脅威の後th –
ありがとう、それは非常にうまくいきます –