Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在开始新活动时放置进度条_Android_Android Asynctask_Android Activity_Android Progressbar - Fatal编程技术网

Android 如何在开始新活动时放置进度条

Android 如何在开始新活动时放置进度条,android,android-asynctask,android-activity,android-progressbar,Android,Android Asynctask,Android Activity,Android Progressbar,我有两个活动A和B。我曾试图从A跳到B。现在进入B @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list_main); LoadData(); } 现在在LoadData()中,我必须加载很多数据,我希望当它B启动时,它会显示一个进度条,加载数据后,它会跳回我的活动B。我该怎么

我有两个活动AB。我曾试图从A跳到B。现在进入B

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_main);

   LoadData();
}
现在在
LoadData()
中,我必须加载很多数据,我希望当它B启动时,它会显示一个进度条,加载数据后,它会跳回我的活动B。我该怎么做??? 这是我的加载函数

public void LoadData(Context context)
    {

        String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '"
                + ("1") + "'";
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME
                + " COLLATE LOCALIZED ASC";

        ContentResolver cr = getContentResolver();
        // ContactsContract.Contacts.
        // Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
        // null, null, ContactsContract.Contacts.DISPLAY_NAME);
        // Find the ListView resource.

        Cursor cur;
        cur = context.getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI,
                null,
                selection + " AND "
                        + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1",
                null, sortOrder);

        mainListView = (ListView) findViewById(R.id.mainListView);

        // When item is tapped, toggle checked properties of CheckBox and
        // Planet.
        mainListView
                .setOnItemClickListener(new AdapterView.OnItemClickListener()
                {
                    public void onItemClick(AdapterView<?> parent, View item,
                            int position, long id)
                    {
                        ContactsList planet = listAdapter.getItem(position);
                        planet.toggleChecked();
                        PlanetViewHolder viewHolder = (PlanetViewHolder) item
                                .getTag();
                        viewHolder.getCheckBox().setChecked(planet.isChecked());
                    }
                });

        // Create and populate planets.
        planets = (ContactsList[]) getLastNonConfigurationInstance();
        // planets = new Planet[10];
        // planets.Add("asdf");
        ArrayList<ContactsList> planetList = new ArrayList<ContactsList>();
        String phoneNumber = null;
        String phoneType = null;

        count = cur.getCount();
        contacts = new ContactsList[count];

        if (planets == null)
        {
            if (cur.getCount() > 0)
            {
                planets = new ContactsList[cur.getCount()];
                int i = 0;
                //
                while (cur.moveToNext())
                {
                    String id = cur.getString(cur
                            .getColumnIndex(ContactsContract.Contacts._ID));
                    String name = cur
                            .getString(cur
                                    .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    if (Integer
                            .parseInt(cur.getString(cur
                                    .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)
                    {
                        // Query phone here. Covered next
                        Cursor pCur = cr
                                .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                        null,
                                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                                + " = ?", new String[]
                                        { id }, null);

                        // WHILE WE HAVE CURSOR GET THE PHONE NUMERS
                        while (pCur.moveToNext())
                        {
                            // Do something with phones
                            phoneNumber = pCur
                                    .getString(pCur
                                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA));

                            phoneType = pCur
                                    .getString(pCur
                                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));

                            Log.i("Pratik", name + "'s PHONE :" + phoneNumber);
                            Log.i("Pratik", "PHONE TYPE :" + phoneType);
                        }
                        pCur.close();
                    }

                    if (phoneNumber != null
                            && !planetList.contains(new ContactsList(name,
                                    phoneNumber)))
                    {
                        planets = new ContactsList[]
                        { new ContactsList(name, phoneNumber) };

                        contacts[i] = planets[0];
                        planetList.addAll(Arrays.asList(planets));
                    }
                    phoneNumber = null;
                    i++;
                }
            }

            // for (int i = 0; i < count; i++)
            // {
            // Log.d("New Selected Names : ", contacts[i].getName());
            // }
        }

        // Set our custom array adapter as the ListView's adapter.
        listAdapter = new PlanetArrayAdapter(this, planetList);
        mainListView.setAdapter(listAdapter);

        Adapter adptr;
        adptr = mainListView.getAdapter();
    }
public void LoadData(上下文)
{
字符串选择=Contacts contract.Contacts.IN_VISIBLE_GROUP+“=”“
+ ("1") + "'";
字符串排序器=Contacts contract.Contacts.DISPLAY\u NAME
+“整理本地化ASC”;
ContentResolver cr=getContentResolver();
//联系人contract.Contacts。
//Cursor cur=cr.query(Contacts contract.Contacts.CONTENT\u URI,null,
//null,null,Contacts contract.Contacts.DISPLAY\u NAME);
//查找ListView资源。
光标电流;
cur=context.getContentResolver().query(
Contacts contract.Contacts.CONTENT\u URI,
无效的
选择+“和”
+Contacts contract.Contacts.HAS_PHONE_NUMBER+“=1”,
空,排序器);
mainListView=(ListView)findViewById(R.id.mainListView);
//点击项目时,切换复选框和的选中属性
//行星。
主列表视图
.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView父项、视图项、,
内部位置,长id)
{
ContactsList planet=listAdapter.getItem(位置);
planet.toggleChecked();
PlanetViewHolder=(PlanetViewHolder)项目
.getTag();
viewHolder.getCheckBox().setChecked(planet.isChecked());
}
});
//创建并填充行星。
planets=(ContactsList[])GetLastNonConfiguration实例();
//行星=新行星[10];
//添加(“asdf”);
ArrayList planetList=新的ArrayList();
字符串phoneNumber=null;
字符串phoneType=null;
count=cur.getCount();
联系人=新联系人列表[计数];
如果(行星==null)
{
如果(cur.getCount()>0)
{
planets=新联系人列表[cur.getCount()];
int i=0;
//
while(cur.moveToNext())
{
字符串id=cur.getString(cur
.getColumnIndex(Contacts contract.Contacts._ID));
字符串名称=cur
.getString(cur)
.getColumnIndex(Contacts contract.Contacts.DISPLAY_NAME));
if(整数
.parseInt(cur.getString(cur
.getColumnIndex(Contacts contract.Contacts.HAS_PHONE_NUMBER))>0)
{
//这里是查询电话,下一个
光标pCur=cr
.query(contacts contract.commondatatypes.Phone.CONTENT\u URI、,
无效的
Contacts contract.CommonDataTypes.Phone.CONTACT\u ID
+“=?”,新字符串[]
{id},null);
//当我们拿到电话号码的时候
while(pCur.moveToNext())
{
//用手机做点什么
电话号码=pCur
.getString(pCur)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.DATA));
电话类型=pCur
.getString(pCur)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.TYPE));
Log.i(“Pratik”,name+”)的电话:“+电话号码);
Log.i(“Pratik”,“电话类型:”+电话类型);
}
pCur.close();
}
如果(电话号码!=空
&&!planetList.contains(新联系人列表)(名称、,
电话号码(
{
行星=新联系人列表[]
{新联系人列表(姓名、电话号码)};
接触点[i]=行星[0];
planetList.addAll(Arrays.asList(planets));
}
phoneNumber=null;
i++;
}
}
//for(int i=0;i
请试试这个 ////////////////////////////////////////////////////////////////// 编辑并检查它

public class LoadData extends AsyncTask<Void, Void, Void> {
    ProgressDialog progressDialog;
    //declare other objects as per your need
    @Override
    protected void onPreExecute()
    {

        progressDialog= new ProgressDialog(YourActivity.this);
        progressDialog.setTitle("Please Wait..");
        progressDialog.setMessage("Loading");
        progressDialog.setCancelable(false);
        progressDialog.show();

        //do initialization of required objects objects here                
    };      
    @Override
    protected Void doInBackground(Void... params)
    {   
       LoadData();
         //do loading operation here  
        return null;
    }       
    @Override
    protected void onPostExecute(Void result)
    {
        super.onPostExecute(result);
        progressDialog.dismiss();
    };
 }
有关更多帮助,请阅读android文档 试试这个

public class BActivtiy extends Activity implements Runnable{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.list_main);

        mainListView = (ListView) findViewById(R.id.mainListView);

        mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View item, int position, long id) {
                ContactsList planet = listAdapter.getItem(position);
                planet.toggleChecked();
                PlanetViewHolder viewHolder = (PlanetViewHolder) item.getTag();
                viewHolder.getCheckBox().setChecked(planet.isChecked());
            }
        });

        pd = ProgressDialog.show(BActivity.this, "Title", "Description", true);
        Thread t = new Thread(BActivity.this);
        t.start();
    }

    public void LoadData() {

        String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" + ("1") + "'";
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
        ContentResolver cr = getContentResolver();

        Cursor cur;
        cur = this.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, selection + " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1", null, sortOrder);

        // Create and populate planets.
        planets = (ContactsList[]) getLastNonConfigurationInstance();
        // planets = new Planet[10];
        // planets.Add("asdf");
        ArrayList<ContactsList> planetList = new ArrayList<ContactsList>();
        String phoneNumber = null;
        String phoneType = null;
        count = cur.getCount();
        contacts = new ContactsList[count];
        if (planets == null) {
            if (cur.getCount() > 0) {
                planets = new ContactsList[cur.getCount()];
                int i = 0;
                while (cur.moveToNext()) {
                    String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                    String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                        // Query phone here. Covered next
                        Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null);

                        // WHILE WE HAVE CURSOR GET THE PHONE NUMERS
                        while (pCur.moveToNext()) {
                            // Do something with phones
                            phoneNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA));
                            phoneType = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
                            Log.i("Pratik", name + "'s PHONE :" + phoneNumber);
                            Log.i("Pratik", "PHONE TYPE :" + phoneType);
                        }
                        pCur.close();
                    }

                    if (phoneNumber != null && !planetList.contains(new ContactsList(name, phoneNumber))) {
                        planets = new ContactsList[] { new ContactsList(name, phoneNumber) };
                        contacts[i] = planets[0];
                        planetList.addAll(Arrays.asList(planets));
                    }
                    phoneNumber = null;
                    i++;
                }
            }

            // for (int i = 0; i < count; i++)
            // {
            // Log.d("New Selected Names : ", contacts[i].getName());
            // }
        }
    }

    @Override
    public void run() {
        LoadData();
        mHandler.sendEmptyMessage(0);
    }

    public Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            pd.dismiss();
            listAdapter = new PlanetArrayAdapter(BActivtiy.this, planetList);
            mainListView.setAdapter(listAdapter);
            Adapter adptr;
            adptr = mainListView.getAdapter();
        }
    };
}
公共类Bactivy扩展活动实现可运行{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.list_main);
mainListView=(ListVi
public class BActivtiy extends Activity implements Runnable{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.list_main);

        mainListView = (ListView) findViewById(R.id.mainListView);

        mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View item, int position, long id) {
                ContactsList planet = listAdapter.getItem(position);
                planet.toggleChecked();
                PlanetViewHolder viewHolder = (PlanetViewHolder) item.getTag();
                viewHolder.getCheckBox().setChecked(planet.isChecked());
            }
        });

        pd = ProgressDialog.show(BActivity.this, "Title", "Description", true);
        Thread t = new Thread(BActivity.this);
        t.start();
    }

    public void LoadData() {

        String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" + ("1") + "'";
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
        ContentResolver cr = getContentResolver();

        Cursor cur;
        cur = this.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, selection + " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1", null, sortOrder);

        // Create and populate planets.
        planets = (ContactsList[]) getLastNonConfigurationInstance();
        // planets = new Planet[10];
        // planets.Add("asdf");
        ArrayList<ContactsList> planetList = new ArrayList<ContactsList>();
        String phoneNumber = null;
        String phoneType = null;
        count = cur.getCount();
        contacts = new ContactsList[count];
        if (planets == null) {
            if (cur.getCount() > 0) {
                planets = new ContactsList[cur.getCount()];
                int i = 0;
                while (cur.moveToNext()) {
                    String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                    String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                        // Query phone here. Covered next
                        Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null);

                        // WHILE WE HAVE CURSOR GET THE PHONE NUMERS
                        while (pCur.moveToNext()) {
                            // Do something with phones
                            phoneNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA));
                            phoneType = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
                            Log.i("Pratik", name + "'s PHONE :" + phoneNumber);
                            Log.i("Pratik", "PHONE TYPE :" + phoneType);
                        }
                        pCur.close();
                    }

                    if (phoneNumber != null && !planetList.contains(new ContactsList(name, phoneNumber))) {
                        planets = new ContactsList[] { new ContactsList(name, phoneNumber) };
                        contacts[i] = planets[0];
                        planetList.addAll(Arrays.asList(planets));
                    }
                    phoneNumber = null;
                    i++;
                }
            }

            // for (int i = 0; i < count; i++)
            // {
            // Log.d("New Selected Names : ", contacts[i].getName());
            // }
        }
    }

    @Override
    public void run() {
        LoadData();
        mHandler.sendEmptyMessage(0);
    }

    public Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            pd.dismiss();
            listAdapter = new PlanetArrayAdapter(BActivtiy.this, planetList);
            mainListView.setAdapter(listAdapter);
            Adapter adptr;
            adptr = mainListView.getAdapter();
        }
    };
}
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_main);

        mDailog = ProgressDialog.show(ActivityA.this, "",
                        "Loading data....!!!", true);
                mDailog.show();

        new Thread() {
                            @Override
                            public void run() {
                                try {
                                      LoadData();
                                } catch (Exception e) {
                                    // TODO: handle exception
                                    e.printStackTrace();
                                }
                            }
                        }.start();

    }