2012-06-19 173 views
1

我希望进度条在与字符串匹配时增加。就像如果我点击是的话,yes栏会增加。但由于某种原因,我无法取得进展。如何进度进度条

代码:

public class result extends VoteActivity{ 

     private ProgressBar mProgress; 
    private int mProgressStatus = 0; 

    private Handler mHandler = new Handler(); 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.alert); 
if(choice=="Yes") 
{ 
     mProgress = (ProgressBar) findViewById(R.id.p1); 

     // Start lengthy operation in a background thread 
     new Thread(new Runnable() { 
      public void run() { 

        ++mProgressStatus; 


        // Update the progress bar 
        mHandler.post(new Runnable() { 
         public void run() { 
          mProgress.setProgress(mProgressStatus); 
         } 
        }); 

      } 
     }).start(); 
} 

我在做什么错在这里?

回答

5

您无法将字符串与==进行比较。您需要使用equals()

if(choice.equals("Yes")) 
+0

@Floem谢谢你,但之后模拟器强制关闭,当我点击Yes时 –

+0

@Samrat:你在哪里定义'choice'?你可以发布你的onClickListener吗? – Floern

+0

@Floem我在另一个类/ Activity中定义了选择,并在这里导入该类并使用该String变量。我希望当我的字符串返回是时,yes的进度条应该继续。 –

1

你试过做a.equals("Yes"),而是做了参考的比较?

0

除了@Floem你可能想看看使用AsyncTask。 如果您在后台进程之前或之后想要更新UI线程,这将会派上用场。

另一件事情就是完全符合你的要求,并避免所有要发布的电话号码是CountDownTimer。虽然你可能没有显示你的计数数字,但你当然可以用它作为暂停。