如何有时显示Android进度条

如何有时显示Android进度条,android,android-progressbar,Android,Android Progressbar,我只想在新建main活动(详细信息)时显示进度条main活动(详细信息)用于向用户发送邮件。我所需要的是当点击按钮时,进度条应该显示并启动。然后,当邮件发送时,进度条隐藏或结束 以下是我目前的代码: OnClickListener listener=new OnClickListener() { @Override public void onClick(View v) { pb=(ProgressBar)findVi

我只想在新建
main活动(详细信息)
时显示进度条
main活动(详细信息)
用于向用户发送邮件。我所需要的是当点击按钮时,进度条应该显示并启动。然后,当邮件发送时,进度条隐藏或结束

以下是我目前的代码:

OnClickListener listener=new OnClickListener()
    {   
        @Override
        public void onClick(View v)
        {
        pb=(ProgressBar)findViewById(R.id.progressBar1);
        pb.setVisibility(View.VISIBLE);

        if(isNetworkAvailable())
        {
        // TODO Auto-generated method stub
            SharedPreferences pref=getSharedPreferences("Pref", MODE_PRIVATE);
            String str=pref.getString("un1", "");
            String str1=pref.getString("pa1", "");

            SQLiteDatabase db=context.openOrCreateDatabase("IPCA", MODE_PRIVATE,null);
            Databasesignup dbs=new Databasesignup(context,"IPCA", null,1);
            dbs.onCreate(db);

            Cursor cursor=dbs.view(db,str,str1);

            ArrayList<String> al=new ArrayList<String>();
            while(cursor.moveToNext())
            {
                al.add(cursor.getString(0));
                al.add(cursor.getString(1));
                al.add(cursor.getString(5));
            }

            String string=al.get(0);
            String string1=al.get(1);
            String string2=al.get(2);
            String k=iv.getTag().toString();

            dbs.insert1(db,string,str,string2,k);

            final String detail ="\nName: "+string+"\nEmail: "+string1+"\nMobile: "+string2+"\nInterest: "+k;
            new MainActivity(detail);

            cursor.close();
            db.close();

            Toast.makeText(getApplicationContext(),"You will be contacted soon", Toast.LENGTH_LONG).show();
        }`
OnClickListener=new OnClickListener()
{   
@凌驾
公共void onClick(视图v)
{
pb=(ProgressBar)findViewById(R.id.progressBar1);
pb.setVisibility(View.VISIBLE);
if(isNetworkAvailable())
{
//TODO自动生成的方法存根
SharedReferences pref=GetSharedReferences(“pref”,模式\私有);
String str=pref.getString(“un1”和“”);
String str1=pref.getString(“pa1”和“”);
SQLiteDatabase db=context.openOrCreateDatabase(“IPCA”,MODE_PRIVATE,null);
Databasesignup dbs=新的Databasesignup(上下文,“IPCA”,null,1);
dbs.onCreate(db);
游标=dbs.view(db、str、str1);
ArrayList al=新的ArrayList();
while(cursor.moveToNext())
{
al.add(cursor.getString(0));
al.add(cursor.getString(1));
al.add(cursor.getString(5));
}
String String=al.get(0);
字符串string1=al.get(1);
字符串string2=al.get(2);
字符串k=iv.getTag().toString();
dbs.insert1(db,string,str,string2,k);
最终字符串详细信息=“\n名称:“+String+”\n邮件:“+string1+”\n移动:“+string2+”\n删除:”+k;
新活动(详情);
cursor.close();
db.close();
Toast.makeText(getApplicationContext(),“很快就会联系到你”,Toast.LENGTH\u LONG.show();
}`

由于您正在访问网络,因此需要将整个操作移到后台。这是使用最简单的操作。然后,您可以在
onPreExecute()
中显示您的
ProgressBar
,并在
onPostExecute()
中隐藏它。您可以通过更改ProgressBar的可见性来隐藏它

ProgressBar pBar = (ProgressBar)findViewById(R.id.your_progress_bar);
// To hide the Progress Bar set visibility to GONE.
pBar.setVisibility(View.GONE);
// To show the Progress Bar again set visibility to VISIBLE
pBar.setVisibility(View.VISIBLE);

我的背景任务在新的MainActivity中(详细信息);我如何在异步任务中使用它,主要活动是在后台向用户发送邮件。我不能使用异步任务。请您提及代码。请查看异步任务文档。其中确实没有什么困难。我只是一个初学者,对这个概念一无所知。我也无法理解文档在…上