============问题描述============

package com.example.dialoglogdemo;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.support.v7.app.ActionBarActivity;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends ActionBarActivity implements OnClickListener {

private AlertDialog.Builder builder;

ProgressDialog pd;

private Button btn_start;

private Button btn_stop;

private Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

switch (msg.what) {

case 1:

if (pd != null) {

int value = msg.arg1;

Log.i("updateValue", "取出的值:"+msg.arg1+"");

pd.setProgress(msg.arg1);//无反应,不更新进度

}

break;

case 2:

if (builder != null) {

}

break;

case 3:

if (pd != null) {

pd.dismiss();

}

default:

break;

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_start = (Button) findViewById(R.id.button1);

btn_stop = (Button) findViewById(R.id.button2);

btn_start.setOnClickListener(this);

btn_stop.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.button1:

// 开始显示

pd = new ProgressDialog(this);

pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

pd.setTitle("下载");

pd.setIcon(R.drawable.ic_launcher);

pd.setMessage("正在下载");

pd.setIndeterminate(true);

pd.setCancelable(true);

pd.setButton(DialogInterface.BUTTON_POSITIVE, "确定",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

// pd.dismiss();

}

});

pd.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

// pd.dismiss();

}

});

pd.show();

// pd = ProgressDialog.show(MainActivity.this, "Loading...",

// "Please wait...", true, false);

new Thread(new Runnable() {

@Override

public void run() {

Message msg = new Message();

// TODO Auto-generated method stub

try {

for (int i = 1; i <= 100; i++) {

Thread.sleep(100);

msg=Message.obtain();

msg.what=1;

msg.arg1 = i;

Log.i("updateValue", "放入的值:"+msg.arg1+"");

mHandler.sendMessage(msg);

}

mHandler.sendEmptyMessage(3);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}).start();

break;

case R.id.button2:

// 停止显示

builder = new AlertDialog.Builder(MainActivity.this);

builder.setTitle("下载")

.setIcon(R.drawable.ic_launcher)

.setCancelable(true)

.setMessage("downloading...")

.setPositiveButton("确定",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

// TODO Auto-generated method stub

}

})

.setNegativeButton("取消下载",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

// TODO Auto-generated method stub

dialog.dismiss();

}

});

AlertDialog dialog = builder.create();

dialog.show();

new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

try {

Thread.sleep(8000);

mHandler.sendMessage(mHandler.obtainMessage(2));

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}).start();

break;

default:

break;

}

}

}

============解决方案1============

初始化时加上pd.setMax(最大的值);

============解决方案2============

没看到你 的 setMax

原文:http://www.cnblogs.com/yiguobei99/p/4083150.html

android setprogress,progressDialog 为什么设置了setProgress()方法无反应?相关推荐

  1. Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

    Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声 一.Android来电铃声默认设置的实现方法 Andoird默认来电铃声的设置方法为修改build/target/product/ ...

  2. android alarmmanager 闹钟,Android编程使用AlarmManager设置闹钟的方法

    本文实例讲述了Android编程使用AlarmManager设置闹钟的方法.分享给大家供大家参考,具体如下: package com.Aina.Android; import android.cont ...

  3. progressDialog 为什么设置了setProgress()方法无反应?

    ============问题描述============ package com.example.dialoglogdemo;import android.app.AlertDialog;import ...

  4. Android中图片圆形设置三种方法介绍

    Android开发中经常会用到圆形图片,比如在用户头像设置,现在提供三种主要实现方式: 方案一:使用第三方图像框架 Fresco 1.添加依赖 dependencies {compile 'com.f ...

  5. android progressbar icon,android中ProgressDialog与ProgressBar的使用详解

    一 .ProgressDialogProgressDialog与ProgressBar在UI中动态显示一个加载图标显示程序运行状态.ProgressDialog是继承自Android.app.Prog ...

  6. 自定义背景android,Android自定义Button并设置不同背景图片的方法

    本文实例讲述了Android自定义Button并设置不同背景图片的方法.分享给大家供大家参考,具体如下: 1.自定义MyButton类 public class MyButton extends Bu ...

  7. android震动服务能设置时长么,Android实现手机振动设置的方法

    本文实例讲述了Android实现手机振动设置的方法.分享给大家供大家参考.具体如下: main.xml布局文件: android:orientation="vertical" an ...

  8. android开发按钮颜色,Android编程实现简单设置按钮颜色的方法

    本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...

  9. android 代码设置dialog 全屏,Android里把Dialog设置为全屏的方法

    Android里把Dialog设置为全屏的方法 有的时候我们需要把Dialog设置为全屏,于是我们想到了如下的办法: //设置成全屏 LinearLayout.LayoutParams p = new ...

最新文章

  1. SVN代码冲突解决方案小集合
  2. sigmoid函数求导与自然指数
  3. linux 链接ln的使用 创建和删除符号连接(软、硬链接)
  4. ajax响应不显示值,Ajax响应200正常,但显示未能加载响应数据
  5. mysql表的遍历_MySQL 全表遍历
  6. CentOS上使用sysstat做系统监控测试
  7. 38. 遵循按照值传递的原则来设计函数子类
  8. Activiti流程实例管理
  9. 【细胞分割】基于matlab GUI阙值+边缘+形态学+种子点图像分割【含Matlab源码 615期】
  10. 能源消耗总量计算公式_七、能源统计(21)
  11. USB接口、串口、并口有何区别
  12. 替代计算机内存条,电脑想加内存条,DDR3,DDR4傻傻分不清?
  13. ROS Noetic入门完整版
  14. Jira管理员配置手册
  15. 安卓玩机搞机-----没有第三方包 刷写第三方各种GSI系统 体验非官方系统
  16. kso经验积累 -- c#发送邮件
  17. Python获取指定时间范围内的工作日、假日日、法定节假日
  18. 中国石油天然气集团公司信息管理部总经理刘希俭:持续提升信息化价值的思考与实践
  19. 消息传递,生产者消费者
  20. ​Hello Qt(四十七)——QtQuick基础​

热门文章

  1. Qt Dialog捕捉鼠标移动事件
  2. 周记(2015-11-30 -- 2015-12-05)
  3. Service实现文件下载
  4. SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC
  5. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 - 草根的暂时胜利
  6. React 的 Hello World
  7. Retrofit网络请求框架使用简析——Android网络请求框架(四)
  8. java基础—统计一个字符串中各个字符出现的次数
  9. AngularJS中实现显示或隐藏动画效果的3种方式
  10. 第三次作业——朱华泓