Форум программистов, компьютерный форум CyberForum.ru

Как показать ProgressDialog при долгом построении UI? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Что не так с genymotion http://www.cyberforum.ru/android-dev/thread1405435.html
Помогите, пожалуйста! Очень надоела эта периодически повторяющиеся зависание эмулятора genymotion. В логи выдаёт следующее: 03-27 10:07:38.209: E/SurfaceTextureClient(928): queueBuffer: error queuing buffer to SurfaceTexture, -32 03-27 10:07:38.209: E/EGL_genymotion(928): tid 928: swapBuffers(290): error 0x3003 (EGL_BAD_ALLOC) 03-27 10:07:38.209: W/HardwareRenderer(928): EGL error:...
Программирование Android Заблокировать запуск процесса до начала его выполнения В общем вопрос тривиальный, но в то же время не тривиальный. Необходимо отловить момент запуска другого приложения. При этом броадкасты оно не посылает. Метод через ActivityManager.getRunningAppProcesses() не подходит, так как он получает перечень уж запущенных процессов, а мне нужно грохнуть его до начала исполнения его же кода, т. е. сразу после того кок он попал в ActivityManager. Вопрос... http://www.cyberforum.ru/android-dev/thread1405320.html
Сервис останавливается когда закрывается приложение Программирование Android
Добрый вечер, господа. Перечитал очень много статей по поводу сервисов в Android. Вроде все делаю правильно, но не понимаю почему так происходит. В общем дело в том, что у меня на активити есть тупо две кнопки - старт и стоп, которые соответственно запускают и останавливают службу. Проблема в том, что когда я делаю старт и закрываю приложение(не просто сворачиваю, а свайпаю в меню открытых...
Кастомизация ListView и использование Sticky Header Программирование Android
Использую библиотеку https://github.com/beworker/pinned-section-listview И столкнулся с вопросом по незнанию Там есть пример, делал на его основе https://github.com/beworker/pinned-section-listview/blob/master/example/src/com/hb/examples/PinnedSectionListActivity.java вот в этом файле в методе генерации (строка 56) происходит формирование там создаюся итемы, им задаются поля и дальше на...
Программирование Android Изменение изображений в GridView http://www.cyberforum.ru/android-dev/thread1405103.html
Всем привет, возник такой вопрос, есть GridView и на него по умолчанию выводятся 9 изображений. Как реализовать чтобы при нажатие на любое из изображений это изображение заменялось другим? На скрине пример экрана с выведенными по умолчанию изображениями. Код адаптера ImageAdapter: public class ImageAdapter extends BaseAdapter{ private Context mContext; public Integer mThumsId...
Программирование Android Наложить информацию на фотографию У меня есть фотография, которая была получена из видео(содержит изображение какого то обьекта) и сохранена в файле android телефона. Мне нужно наложить на эту фотографию информацию: дату, время, геопозицию. Так вот каким способом можно эту информацию наложить?? Можете сказать в какую сторону копать для выполнения этой задачи?? подробнее

Показать сообщение отдельно
ChewbaccaCyber
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 13
27.03.2015, 15:32  [ТС]     Как показать ProgressDialog при долгом построении UI?
Если сильно упростить до сути, то сейчас вот так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class AlphabetActivity extends Activity implements View.OnClickListener {
    protected LinearLayout layoutItems;
 
    protected DBHelper dbHelper;
    protected SQLiteDatabase db;
 
    private ProgressDialog progressDlg;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_alphabet);
 
        layoutItems = (LinearLayout) findViewById(R.id.layoutItems);
 
        dbHelper = new DBHelper(this);
        db = dbHelper.getWritableDatabase();
 
        progressDlg = new ProgressDialog(AlphabetActivity.this);
        progressDlg.setCancelable(false);
        progressDlg.setMessage("Пожалуйста, подождите...");
        progressDlg.show();
 
        String sql = "SELECT * FROM table1 ORDER BY title";
        Cursor curItemnames = db.rawQuery(sql, null);
 
        if (curItemnames.moveToFirst()) {
            int titleColIndex = curItemnames.getColumnIndex("title");
            int idColIndex = curItemnames.getColumnIndex("id");
            do {
                String item_name = curItemnames.getString(titleColIndex);
                int item_id =  curItemnames.getInt(idColIndex);
                TextView txtLetter = new TextView(getApplicationContext());
                txtLetter.setTextColor(0xFF303030);
                txtLetter.setBackgroundColor(0xFFF5F5F5);
                txtLetter.setText(item_name);
                txtLetter.setTag(item_id);
                layoutItems.addView(txtLetter);
            } while (curItemnames.moveToNext());
        }
 
        progressDlg.dismiss();
    }
}
В curItemnames 400-800 записей в зависимости от условий.

В таком варианте ProgressDialog никогда не показывается, а продолжительное время виден чёрный экран, а потом сразу готовая активити
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru