2011-09-16 139 views
-3

在这个例子中,任何一个都可以实现进度条吗?Android中的ProgressBar

package org.postandget; 
import org.postandget.R; 

public class main extends Activity { 


     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      for(int i=0;i<1000;i++) 
       { 
         System.out.println(i); 
       } 

       } 
} 

虽然循环执行我必须显示一个进度。我曾经为几个例子做过工作,但没有一个是正确的。谁能帮我?

+0

你看过官方教程吗? http://developer.android.com/reference/android/widget/ProgressBar.html 这很简单。 – Turnsole

+0

因为你必须使用Asyntask概念[这里](http://developer.android.com/reference/android/os/AsyncTask.html) –

+0

@ parthi04看这个例子,这将非常有帮助 [PROGGSBAR例子] (http://eagle.phys.utk.edu/guidry/android/progressBarExample.html) – Piyush

回答

4

这里是Progresss Dialog

简单的例子Example 1

Example 2

代码段

package org.postandget; 
import org.postandget.R; 

public class main extends Activity { 
ProgressDialog bar; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    new BackgroundTask().execute("Main"); 
} 
class BackgroundTask extends AsyncTask<String , Integer, Void> 
{ 
    @Override 
    protected void onPreExecute() 
    { 
     bar = new ProgressDialog(main.this); 
     bar.setMessage("Processing.."); 
     bar.setIndeterminate(true); 
     bar.show(); 

    } 
    @Override 
    protected Void doInBackground(String... params) 
    { 
     for(int i=0;i<10;i++) 
       { 
         System.out.println(i); 
      try 
      { 
       Thread.sleep(1000); 
      } 
      catch(Exception e) 
      { 
       System.out.println(e); 
      }  
       } 
     return null; 
    } 
    @Override 
    protected void onPostExecute(Void result) 
    { 
     bar.dismiss(); 
     } 
} 
} 
+0

不能得到那个权利......你能否在这个代码中实现? – Parthi04

+0

我添加代码检查它 –

+0

亚......我在这个代码中得到正确的概念 – Parthi04