gpt4 book ai didi

android - 函数运行时的进度条

转载 作者:行者123 更新时间:2023-11-29 21:09:33 25 4
gpt4 key购买 nike

我有一个 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();
}
}


}

});

最佳答案

ActivityFragmentonCreate() 中创建一个 ProgressDialog 实例

  private ProgressDialog mProgressDialog;

mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setMessage("Signing In...");

当你点击按钮调用时,

  mProgressDialog.show();

并且,当您从 HTTP 请求 获得响应时,调用

 mProgressDialog.hide();

然后在 Activity onDestroy 中关闭对话框

@Override
protected void onDestroy(){
if (mProgressDialog != null) {
mProgressDialog.dismiss();
mProgressDialog = null;
}
super.onDestroy();
}

如果您在 AsyncTask 中执行网络请求。您可以在 onPreExecute() 中显示进度并在 onPostExecute()`

中隐藏

关于android - 函数运行时的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23401038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com