功能运行时进度条

时间:2014-05-01 02:05:19

标签: android progress-bar

我有一个SignUp函数,在单击按钮时调用。在onClickListener函数中,它的调用方式如下:

SignUp(Uname.getText().toString(), Pword.getText().toString(),
        Umail.getText().toString());                     

当该功能正在运行时,我需要显示一个进度条。我怎么能这样做?

以下是SignUp()函数的代码:

public void  SignUp (String Username, String Password, String Email) {
    Integer Userch = CheckUName (Username);
    Integer UserMl = CheckUMail (Email);

    if (Userch == 3)
    {
        Toast.makeText(getActivity(), "این نام کاربری قبلا ثبت شده است",
                Toast.LENGTH_LONG).show();      
    }
    else if (UserMl == 3)
       {
            Toast.makeText(getActivity(), "این پست الکترونیکی قبلا ثبت شده است", Toast.LENGTH_LONG).show();     
       }
       else if ((UserMl == 4) && (Userch == 4))
       {

                String Pass = null;
                InputStream is = null;
                String result = "";
                ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("UUName", Username));
                nameValuePairs.add(new BasicNameValuePair("UPWord", Password));
                nameValuePairs.add(new BasicNameValuePair("UMail", Email));

                try{

                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPost httppost = new HttpPost(SignupAddress);
                        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        HttpResponse response = httpclient.execute(httppost);
                        HttpEntity entity = response.getEntity();
                        is = entity.getContent();
                        Toast.makeText(getActivity(), "ثبت نام انجام شد", Toast.LENGTH_LONG).show();        

                }catch(Exception e){

                    Log.e("log_tag", "Error in http connection "+e.toString());
                } 
       }


    }   

为libin编辑:     我怎么称呼:

 public void onClick(View v)
            {

                mProgressDialog.show();

                StrictMode.setThreadPolicy(policy); 

                String Result = login(Username.getText().toString());

                if (Username.getText().toString().equals(""))
                {

                    Toast.makeText(getActivity(), "نام کاربری را وارد کنید", Toast.LENGTH_SHORT).show();
                    mProgressDialog.hide();

                }
                else if  (Password.getText().toString().equals(""))
                {

                    Toast.makeText(getActivity(), "کلمه عبور را وارد کنید", Toast.LENGTH_SHORT).show();     
                    mProgressDialog.hide();

                }
                else
                {

                        if (Result.equals(Password.getText().toString()))
                         {

                            Intent i = new Intent(getActivity(), HomePage.class);
                             i.putExtra("new_variable_name",Username.getText().toString());
                             startActivity(i);

                         }
                         else if (Result == "Wrong Username or Password")
                         {
                            mProgressDialog.hide();

                              Toast.makeText(getActivity(), "نام کاربری یا کلمه عبور اشتباه است", Toast.LENGTH_SHORT).show();       
                         }
                          else if (Result == "Error Connection")
                         {
                            mProgressDialog.hide();

                              Toast.makeText(getActivity(), "مشکلی در برقراری ارتباط وجود دارد", Toast.LENGTH_SHORT).show();        
                         }
                          else if (Result == "Convert Error")
                         {
                            mProgressDialog.hide();

                              Toast.makeText(getActivity(), "مشکلی بوجود آمده است", Toast.LENGTH_SHORT).show();     
                         }
                          else 
                         {
                            mProgressDialog.hide();

                              Toast.makeText(getActivity(), "نام کاربری یا کلمه عبور اشتباه است", Toast.LENGTH_SHORT).show();       
                          }
                    }


            }

        });

1 个答案:

答案 0 :(得分:2)

ProgressDialog onCreate()Activity

Fragment内创建 private ProgressDialog mProgressDialog; mProgressDialog = new ProgressDialog(getActivity()); mProgressDialog.setMessage("Signing In..."); 的实例
  mProgressDialog.show();

单击按钮调用时,

HTTP Request

并且,当您从 mProgressDialog.hide(); 收到回复时,请致电

onDestroy

在活动@Override protected void onDestroy(){ if (mProgressDialog != null) { mProgressDialog.dismiss(); mProgressDialog = null; } super.onDestroy(); } 中,关闭对话框

onPreExecute() and hide in

如果您在AsyncTask中执行网络请求。您可以在{{1}} onPostExecute()`

中显示进度