Android 在“进度报告”对话框中显示警报对话框
您好,朋友们,我想在“完成进度”对话框中显示“警报”对话框。进展完成高达100我想通过警报对话框询问/通知一些信息。我两者都很好,但我不知道如何将两者结合起来,所以请尽快帮助我。。提前谢谢。 我的代码如下Android 在“进度报告”对话框中显示警报对话框,android,alert,android-alertdialog,progressdialog,dialog,Android,Alert,Android Alertdialog,Progressdialog,Dialog,您好,朋友们,我想在“完成进度”对话框中显示“警报”对话框。进展完成高达100我想通过警报对话框询问/通知一些信息。我两者都很好,但我不知道如何将两者结合起来,所以请尽快帮助我。。提前谢谢。 我的代码如下 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> pa
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
no = 1;
int a = lv.getSelectedItemPosition();
Toast.makeText(getApplicationContext(),
"item " + a + " selected", Toast.LENGTH_SHORT).show();
System.out.println("progress start");
progressDoalog.setMax(100);
progressDoalog.setMessage("Connecting Please Wait....");
progressDoalog
.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDoalog.show();
progressDoalog.setProgress(0);
new Thread(new Runnable() {
@Override
public void run() {
try {
// Here you should write your time consuming task...
while (progressDoalog.getProgress() <= progressDoalog
.getMax()) {
Thread.sleep(100);
handle.post(new Runnable() {
public void run() {
progressDoalog.incrementProgressBy(no);
}
});
System.out.println("before if");
if (progressDoalog.getProgress() == progressDoalog
.getMax()) {
System.out.println("u r in if 100");
progressDoalog.dismiss();
System.out.println("dismiss");
//
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
alertDialogBuilder
.setMessage("Password to Network")
.setMessage(randomMessage)
.setTitle("Password")
.setCancelable(false)
.setPositiveButton("Copy",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
}
})
.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
//
System.out.println("alert over");
}
}
} catch (Exception e) {
}
}
}).start();
}
});
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
no=1;
int a=lv.getSelectedItemPosition();
Toast.makeText(getApplicationContext(),
“项目”+a+“选定”,Toast.LENGTH_SHORT.show();
System.out.println(“进度开始”);
progressDoalog.setMax(100);
setMessage(“正在连接,请稍候…”);
进展日志
.setProgressStyle(ProgressDialog.STYLE_水平);
progressDoalog.show();
progressDoalog.setProgress(0);
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
//在这里你应该写下你耗时的任务。。。
while(progressDoalog.getProgress()通过处理程序将百分比值传递给asycn任务来更新进度。完成后,在postExecute()中显示警报对话框。您可以使用AsyncTask进行此操作
public class MyAsyncTask extends AsyncTask<Void, Integer, Boolean>
{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
/** do your initialization here like setting up porgress bar or some other
variable it's up to you*/
}
@Override
protected Boolean doInBackground(Void... params) {
//do your work here
//update progress bar
publishProgress(total_progress);
return flag; //return true or false
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
//set progress here
progressbar.setProgress(values[0])
}
@Override
protected void onPostExecute(Boolean result) {
//deal with you alertdialog here
if(result)
{
//do something with our alert dialog
}
else
{
//do something with your alert dialoge
}
super.onPostExecute(result);
}
}
公共类MyAsyncTask扩展了AsyncTask
{
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
/**您在这里的初始化像设置porgress bar或其他什么吗
这取决于你*/
}
@凌驾
受保护的布尔doInBackground(Void…params){
//你在这里工作吗
//更新进度条
出版进度(总进度);
return标志;//返回true或false
}
@凌驾
受保护的void onProgressUpdate(整型…值){
super.onProgressUpdate(值);
//在此处设置进度
progressbar.setProgress(值[0])
}
@凌驾
受保护的void onPostExecute(布尔结果){
//在这里处理你的问题
如果(结果)
{
//对我们的警报对话框执行一些操作
}
其他的
{
//对你的提醒对话框做些什么
}
super.onPostExecute(结果);
}
}
请通过代码理解以上内容???现在我检查进度是否达到100,我尝试显示警报,但没有通过以下方式显示:if(progressDoalog.getProgress()==progressDoalog.getMax()){my alert code}