使用多个进度对话框的Android
我正在尝试构建一个类,用于访问web,下载数据,然后将其加载到数据库中。我可以用一个进度对话框来完成这项工作,但我无法理解如何使用多个对话框。在研究这一点时,我发现了数百个进度对话问题,因此它似乎不像应该的那样直截了当 我已经尝试过使用处理程序和线程,但根本无法使用 我正在寻找一个工作代码的例子来实现这一点 下面是我正在尝试的伪代码:使用多个进度对话框的Android,android,progressdialog,Android,Progressdialog,我正在尝试构建一个类,用于访问web,下载数据,然后将其加载到数据库中。我可以用一个进度对话框来完成这项工作,但我无法理解如何使用多个对话框。在研究这一点时,我发现了数百个进度对话问题,因此它似乎不像应该的那样直截了当 我已经尝试过使用处理程序和线程,但根本无法使用 我正在寻找一个工作代码的例子来实现这一点 下面是我正在尝试的伪代码: public class myactivity extends Activity() { private WebIO webIO ; // w
public class myactivity extends Activity()
{
private WebIO webIO ; // web acess io
private DataIO DataIO ; // database io
public void onCreate( Bundle savedInstanceState ) {
DataIO = new DataIO( this );
WebIO = new WebIO();
DataIO.open();
runProgram();
}
}
private void runProgram() {
startProgressDialog( "Downloading data from web" );
new Thread() {
public void run() {
try{
String vData = webIO.getData();
dismissProgressDialog();
if ( vData.length() > 0 ) {
promptUser( vData );
} } } }
}
private void promptUser( vData ){
if alertdialog_to_prompt_user_to_load(){
{
loadData( pData )
}
private void loadData( String pData ){
startProgressDialog( "Loading data into database" );
new Thread() {
public void run() {
try{
loadDataIntoDatabase();
dismissProgressDialog();
} } } }
}
拥有多个对话框的唯一方法是将它们层叠在一起,这显然是用户体验的禁忌。在android中,对话框是它们自己的窗口,因此一次只能有一个焦点 要解决您的问题,请使用多个小部件创建一个自定义对话框。最简单的方法是从a开始,覆盖
onCreatedDialog()
以返回带有自定义视图的。要在警报对话框上设置自定义视图,请参阅AlertDialog
上的方法。e、 g
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater li = LayoutInflater.from(context);
View layout = = li.inflate(R.layout.my_dialog);
return new AlertDialog.Builder(getActivity())
.setIcon(..)
.setTitle(...)
.setView(layout)
...
.create();
}
将所有这些封装到一个多下载进度对话框中是相当不错的,在这个对话框中,您可以注册额外的下载,并让类自动添加一个进度条并注册自己以进行进度更新 异步任务。每个进度1。我尝试了这个,但仍然无法使第二个progressdialog工作。有没有使用多个progressdialogs的例子?Jeffrey,这对我一点帮助都没有。我已经在使用带有自定义视图的自定义对话框。问题是在第二次从“run”块或“runhandler”调用时强制关闭,或者从另一次调用时强制关闭。您的问题没有提到强制关闭,而是多次询问如何使用多个对话框。我建议你发布另一个问题,更清楚地解决你当时的问题。