Как установить видимость для управления в TabActivity из Activity (вкладки)?

Мой TabActivity содержит ProgressBar и две вкладки (Activities с ListView).

Где я должен инициализировать progress = (ProgressBar)findViewById(R.id.progress_bc); и как я могу установить progress.setVisibility(View.GONE); из onItemClick в ListView в Activity?

<ProgressBar 
    android:id="@+id/progress_bc"
    android:indeterminate="true" 
    android:layout_width="18dip" 
    android:layout_height="18dip"
    style="@android:style/Widget.ProgressBar.Small"/>

person Sviatoslav    schedule 18.12.2011    source источник


Ответы (1)


Инициализация должна быть в Activity, где вы хотите показать диалог. Так что лучше иметь два ProgressBar, по одному на каждый макет из ваших двух Activities и управлять им там.

Итак, на родительской вкладке Activity (назовите ее CustomTabActivity):

public ProgressDialog dialog;

В onCreate() вы инициализируете диалог.

Теперь, когда вы хотите использовать его из дочернего действия, вы используете:

((CustomTabActivity)getParent()).dialog.show(); or

((CustomTabActivity)getParent()).dialog.dismiss();

Надеюсь это поможет!

person Dimitris Makris    schedule 18.12.2011
comment
Я знаю, как это сделать, но я надеюсь, что есть способ использовать one progressBar в TabActivity, потому что у меня нет подходящего места в Действиях для .ProgressBar.Small, но у меня есть это под вкладками в TabActivity :) - person Sviatoslav; 18.12.2011
comment
Затем вы должны получить к нему доступ через метод getParent(), где вы можете получить доступ к объектам вашей родительской активности, в данном случае это TabActivity. - person Dimitris Makris; 18.12.2011
comment
поскольку вы удалили мои изменения, вы можете отредактировать ответ или создать новый с пояснениями, как правильно использовать getParent() в моем вопросе? И я выберу его в качестве ответа на вопрос :) - person Sviatoslav; 18.12.2011