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