Обновление панели прогресса, достигнутое в новом представлении
-
30-09-2019 - |
Вопрос
Я хочу обновить строку прогресса в моем приложении.
Я создал новый взгляд, используя инфлятор, и в этом недавно созданном представлении я хочу показать обновление горизонтальной строки прогресса.
Как я могу сделать это особенно?
Кроме того, я узнал, что когда мы создаем новое представление от Fulcalter, нам нужно добавить его в текущий класс активности с помощью addContentView (), я не знаю, как это сделать, хотя я много пробовал до сих пор.
Кто -нибудь может мне здесь помочь?
Решение
Так что, поскольку вы не предоставляете код, позвольте мне искать мой хрустальный шар ... подождите ... хорошо, вот оно. У тебя есть что -то вроде этого:
View someView = inflater.inflate(R.layout.view_with_progress_bar, null);
Чтобы получить доступ к вашему ProgressBar
, вы должны использовать findViewById
Метод:
ProgressBar yourProgressBar = (ProgressBar)someView.findViewById(R.id.id_of_your_progress_bar);
// you can know modify the progress bar: yourProgressBar.setBlahBlah
Чтобы добавить представление, которое содержит панель прогресса для текущей деятельности, вы должны иметь ссылку на контейнер, который вы ранее установили. Итак, я думаю, вы ранее сделали: setContentView(R.layout.something);
, тогда у вас есть макет под названием something.xml
; Этот макет содержит ViewGroup
(LinearLayout
, RelativeLayout
, и т.д.; Мой хрустальный шар не видит этого ясно). Затем вам нужно установить идентификатор в этот контейнер, создать ссылку и добавить в него вновь созданный вид:
// in your onCreate method
setContentView(R.layout.something);
// let's suppose it's a LinearLayout
LinearLayout mainContainer = (LinearLayout)findViewById(R.id.id_you_gave_to_container);
// blha blah... the rest of your code. Keep in mind that you will
// probably have to declare the mainContainer outside the onCreate method
// here, you have already inflated your view, and want to add it to your activity
mainContainer.addView(someView);