2014-01-15 99 views
-1

我在一個活動中有兩個活動我做停用詞清除過程並在活動中顯示兩個,這個過程需要很長時間,如果詞的量越來越多,我想讓一個進度條這樣用戶不會感到困惑。 如何在停止詞清除過程完成之前製作進度條? 和我不得不把它放在編碼的地方? 我是android編程的初學者,希望有人能幫助我。如何使進度條

這是我在活動一的點擊按鈕上的編碼。

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if (v.getId()==R.id.button6){ 
     Intent intent = new Intent(this, PreposisiRemoval.class); 

     String test = ((TextView)findViewById(R.id.textView7)).getText().toString(); 
     String[] preposisi = {"akibat", "atas", "bagai", "bagi", "berkat", "dalam", "dari", "demi", "dengan", "di", "hingga", "karena", "ke", "kecuali", "lewat", "oleh", "pada", "sampai", "sejak", "seperti", "tanpa", "tentang", "untuk"}; 
     StringBuilder resultFilter = new StringBuilder(); 

     Scanner fip1 = new Scanner(test); 
      while (fip1.hasNext()){ 
        int flag = 1; 
        String s1 = fip1.next(); 
        for (int i = 0;i<preposisi.length; i++){ 
         if (s1.equals(preposisi[i])){ 
          flag=0; 
         } 
         } 
         if(flag!=0){ 
          System.out.println(s1); 
          resultFilter.append(s1+'\n'); 
         } 

         Intent intent2 = getIntent(); 
           String count = intent2.getStringExtra("result2"); 

        intent.putExtra("resultFilter", resultFilter.toString()); 
        intent.putExtra("count", count); 
        startActivity(intent); 
        } 
      } 
     } 

回答

0

您可以將您的工作開始之前做這樣的事情的AsyncTask或只是把ProgressDialog.show(),當complete.for的AsyncTask,代碼如下解僱。

private class doLoginTask extends AsyncTask<String, Integer, String>{ 

    private ProgressDialog pb=null; 
    //private String response=null; 
    @Override 
    protected void onPreExecute() { 
     // TODO Auto-generated method stub 
     super.onPreExecute(); 
        //Progress show 
     pb=ProgressDialog.show(ClubLoginActivity.this, "", "Processing"); 
    } 

    @Override 
    protected String doInBackground(String... params) { 
     // TODO Auto-generated method stub 

     //add your work here.. 

     return myWork(); 
    } 

    @Override 
    protected void onPostExecute(String result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
     pb.dismiss(); 
        //code after dismiss it. 
        Intent intent2 = getIntent(); 
    String count = intent2.getStringExtra("result2"); 
    Intent intent = new Intent(this, PreposisiRemoval.class); 

    intent.putExtra("resultFilter", resultFilter.toString()); 
    intent.putExtra("count", result); 
    startActivity(intent); 

    } 
} 
    String myWork(){ 

    String test = ((TextView)findViewById(R.id.textView7)).getText().toString(); 
    String[] preposisi = {"akibat", "atas", "bagai", "bagi", "berkat", "dalam", "dari", "demi", "dengan", "di", "hingga", "karena", "ke", "kecuali", "lewat", "oleh", "pada", "sampai", "sejak", "seperti", "tanpa", "tentang", "untuk"}; 
    StringBuilder resultFilter = new StringBuilder(); 

    Scanner fip1 = new Scanner(test); 
     while (fip1.hasNext()){ 
       int flag = 1; 
       String s1 = fip1.next(); 
       for (int i = 0;i<preposisi.length; i++){ 
        if (s1.equals(preposisi[i])){ 
         flag=0; 
        } 
        } 
        if(flag!=0){ 
         System.out.println(s1); 
         resultFilter.append(s1+'\n'); 
        } 


} 
     return resultFilter.toString(); 
} 
+0

在哪裏我把這個代碼?活動1? 你能否請我用上面的代碼實現? – abooo

+0

@abooo我編輯了我的code.u可以用這個代碼。 – Manmohan

+0

好吧謝謝先生 我會嘗試 – abooo

0

試試這個代碼

public void onClick(View v) { 
// TODO Auto-generated method stub 
if (v.getId()==R.id.button6){ 
    Intent intent = new Intent(this, PreposisiRemoval.class); 

    String test = ((TextView)findViewById(R.id.textView7)).getText().toString(); 
    String[] preposisi = {"akibat", "atas", "bagai", "bagi", "berkat", "dalam", "dari", "demi", "dengan", "di", "hingga", "karena", "ke", "kecuali", "lewat", "oleh", "pada", "sampai", "sejak", "seperti", "tanpa", "tentang", "untuk"}; 
    StringBuilder resultFilter = new StringBuilder(); 

    Scanner fip1 = new Scanner(test); 
    ProgressDialog dialog = ProgressDialog.show(MainActivity.this,"Wait Dialog","Please wait...", true, false); 
     while (fip1.hasNext()){ 
       int flag = 1; 
       String s1 = fip1.next(); 
       for (int i = 0;i<preposisi.length; i++){ 
        if (s1.equals(preposisi[i])){ 
         flag=0; 
        } 
        } 
        if(flag!=0){ 
         System.out.println(s1); 
         resultFilter.append(s1+'\n'); 
        } 
        dialog.cancel(); 
        Intent intent2 = getIntent(); 
          String count = intent2.getStringExtra("result2"); 

       intent.putExtra("resultFilter", resultFilter.toString()); 
       intent.putExtra("count", count); 
       startActivity(intent); 
       } 
     } 
    } 
+0

根本不起作用先生,仍然沒有給出作爲進度條 – abooo