Android: индикатор выполнения во время загрузки - PullRequest
2 голосов
/ 25 декабря 2011

В разработке для Android я загружаю отрисовку из URL с таким кодом:

public Drawable getImageFromURL(String sURL) {
    Object content = null;
    try {
        URL url = new URL(sURL);
        content = url.getContent();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
    InputStream is = (InputStream) content;
    return Drawable.createFromStream(is, "src");
}

Но я хочу отобразить этот ProgressBar, пока он загружает отрисовку

final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
        progressBar = ProgressDialog.show(TabMenu.this, getString(R.string.name), getString(R.string.specials));
        progressBar.setIcon(R.drawable.icon_template);

Как мне это сделать?Я вызываю getImageFromURL () в методе onCreate () действия. Спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 25 декабря 2011
private Handler handler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        // do something

        switch (msg.what){
            case 1:
               //ALL FUNCTION(S) -----------------------------
               //-----------------------------------------------------
               //-----------------------------------------------------
               p_dialog.dismiss();
               break;

           // if error
           case 0:
               Toast.makeText(aktiviti.this, "Error", Toast.LENGTH_SHORT).show();
               p_dialog.dismiss();
               break;
        }
    }
};

НА СОЗДАНИИ ---------> <---------------- </h2> Button new_button = (Button) findViewById(R.id.new_button); new_button.setOnClickListener(new OnClickListener() { public void onClick(View v) { p_dialog = ProgressDialog.show((activity_name).this, "", "Loading Image..."); new Thread(new Runnable() { public void run() { processThread(); }}).start(); } private void processThread() { try{ handler.sendEmptyMessage(1); } catch (Exception e){ handler.sendEmptyMessage(0); } } } }); Удачи!

1 голос
/ 25 декабря 2011

Вам необходимо скачать изображение в новой теме. Вы можете использовать AsyncTask для простоты, как в этом примере , который реализует также индикатор выполнения

...