2010-12-02 3 views
0

Я хочу обновить панель выполнения в своем приложении.Обновление полосы прогресса, достигнутой в новом представлении

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

Как я могу это сделать особенно?

Также я узнал, что, когда мы создаем новый вид Inflater, нам нужно добавить его в класс текущей активности с помощью addContentView(), я не знаю, как это сделать, хотя я много пробовал до Теперь.

Может кто-нибудь мне помочь?

ответ

3

Итак, поскольку вы не предоставляете код, позвольте мне искать мой хрустальный шар ... подождите ... ОК, вот оно. У вас есть что-то вроде этого:

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); 
+0

Извините за не размещение моего кода и большое спасибо за ответ (я действительно верю, что вы могли бы иметь Crystal Ball сейчас, так как мой код точно так же, как вы показали), можете ли вы рассказать мне, где именно я должен написать эту строку: «LinearLayout mainContainer = (LinearLayout) findViewById (R.id.id_you_gave_to_container); потому что на самом деле я делаю свой код в событии Click кнопки в классе, который расширяет BaseAdapter. Снова Спасибо большое Кристиану. – 2010-12-03 05:12:45

Смежные вопросы