为什么我的进度条不能正常增加?

aba*_*bzy 0 multithreading android progressdialog

我试图在收到的广播上增加我的进度条,但从myProgressDialog.incrementProgressBy(increment);我的观点来看代码没有任何影响.我试过把命令放在不同的地方,但我仍然看不到任何效果.

这是我的代码的样子.

public static final int max = 180;
public final static int increment = (1/180);

  @Override
   public void onCreate(Bundle savedInstanceState) {
            ...
        i = new Intent();
    i.setAction(ITEM_CREATED);
    registerReceiver(myBroadcastReceiver, new IntentFilter(ITEM_CREATED));              
        findFeeds = new Runnable(){
           @Override
           public void run() 
            {
              getFeedObjects();
            }
           };
           beginThread();
        } 

 public static Context getAppContext() {
    return context;
}

private void beginThread()
{
    switch (checkConnectionState(OffsideLiteActivity.this))
    {
        case 0:
        thread =  new Thread(null, findItems, "DoingInBackground");
        thread.start();
        myProgressDialog = new ProgressDialog(this);
            myProgressDialog.setCancelable(true);
            myProgressDialog.setMessage("Loading...");
            myProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            myProgressDialog.setProgress(0);
            myProgressDialog.setMax(max);
            myProgressDialog.show();

        break;
        case 1:
        connectionError();
        break;
        default:
    }
}

     private BroadcastReceiver myBroadcastReceiver =
    new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) 
        {
            myProgressDialog.incrementProgressBy(increment);
            Log.d("RECEIVED", "Broadcast received");
        }

   };
Run Code Online (Sandbox Code Playgroud)

有趣的是,logcat注册了Broadcast received我放在myProgressDialog.incrementProgressBy(increment);代码后面的日志

logcat的

08-03 13:56:15.109: DEBUG/RECEIVED(8666): Broadcast received
08-03 13:56:15.109: DEBUG/RECEIVED(8666): Broadcast received
08-03 13:56:15.109: DEBUG/RECEIVED(8666): Broadcast received
08-03 13:56:15.109: DEBUG/RECEIVED(8666): Broadcast received
08-03 13:56:15.109: DEBUG/RECEIVED(8666): Broadcast received
Run Code Online (Sandbox Code Playgroud)

就像我说的,我已经尝试将myProgressDialog.incrementProgressBy(increment);命令放在我的代码中的其他地方,但无济于事.有什么建议吗?

E.Z*_*art 6

问题可能是这一行:

public final static int increment = (1/180);
Run Code Online (Sandbox Code Playgroud)

我相信int将被截断为0,所以你只需要将进度对话框递增0.你可能希望增量为1.