2

私はAndroidプログラミングに不慣れで、ユーザーの連絡先を取得し、他のアクティビティでそれらすべてを表示する必要があります。すべての主要な機能を実行しましたが、取得が進行中のときに進行状況を表示したいという要件があります。

4

1 に答える 1

2

私は自分のアプリで次のコード(この回答から取得)を使用して、あなたがやろうとしていることを実行します。それは私にとって魅力のように機能します。

mButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        new AsyncTask<Integer, Long, Boolean>()
        {
            ProgressDialog mProgressDialog;
            @Override
            protected Boolean doInBackground(Integer... params)
            {
                mProgressDialog = new ProgressDialog(MyActivity.this);
                mProgressDialog.setMax(params[0]);
                mProgressDialog.setIndeterminate(false);
                mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                publishProgress(0L);

                long startTime = System.currentTimeMillis();
                long waitTime = params[0] * 1000;
                try
                {
                    while (System.currentTimeMillis() - startTime < waitTime)
                    {
                        Thread.sleep(500);
                        publishProgress(System.currentTimeMillis() - startTime);
                    }
                }
                catch (Exception e)
                {
                    return false;
                }
                return true;
            }

            @Override
            protected void onProgressUpdate(Long... values)
            {
                if (values[0] == 0)
                {
                    mProgressDialog.show();
                }
                else
                {
                    mProgressDialog.setProgress((int) (values[0] / 1000));
                }
            }

            @Override
            protected void onPostExecute(Boolean result)
            {
                mProgressDialog.dismiss();
                Intent i = new Intent(context, NewActivity.class);
                startActivityForResult(i, 0);
            }
        }.execute(5);
    });
于 2013-03-07T17:55:07.830 に答える