Ich entwickle eine Android 3.1 und höher Anwendung.Zeigen Sie ein Dialogfeld in einem Thread, dass es nicht GUI-Thread ist
Ich habe einen Thread hinzugefügt, um eine REST-Anfrage mit Spring Framework zu machen. Dies ist mein Code:
catch (Exception e)
{
e.printStackTrace();
//display = e.getLocalizedMessage();
}
Ich habe gedacht display
Variable setzen es ein Fehler ist, und überprüfen Sie es dann in runOnUiThread(new Runnable()
:
public class FormsListActivity extends ListActivity
{
private List<Form> forms;
private ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
progressDialog = ProgressDialog.show(this, "Please Wait.", "Loading forms...");
getUpdates.start();
}
private Thread getUpdates = new Thread()
{
public void run()
{
try
{
forms = FormSpringController.LoadAll();
progressDialog.dismiss();
}
catch (Exception e)
{
e.printStackTrace();
//display = e.getLocalizedMessage();
}
runOnUiThread(new Runnable()
{
public void run()
{
setListAdapter(new FormAdapter(FormsListActivity.this, R.layout.form_list_item, forms));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
}
});
}
};
}
ich einen Dialog innerhalb catch-Block angezeigt werden soll. Wenn die Anzeige einen Wert hat, zeigen Sie einen Dialog an.
Was denken Sie? Gibt es einen besseren Ansatz?
Sie können UI nicht aktualisieren oder AlertDialog vom normalen Thread anzeigen. Sie müssen UI Threa verwenden, um dies zu tun – Ravi1187342