2011-11-11 1 views
1

Я создал пользовательскую панель в моей заявке (используя TabHost и TabWidget). Однако в моем TabActivity я хочу вызвать метод Activity, который в настоящее время выбран. Вот пример того, как я инициализировать панель вкладок:Панель Android Tab: доступ к текущей вкладке Активность

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tabbar); 

     TabHost tabHost = getTabHost(); 
     Intent content; 
     Button tabView; 
     TabSpec tab; 

     content = new Intent(this, Test1.class); 
     tabView = new Button(getApplicationContext()); 
     tabView.setBackgroundDrawable(getResources().getDrawable(R.drawable.btn_tableft_selector)); 
     tabView.setText("Test1"); 
     tabView.setTypeface(font); 
     tabView.setTextColor(Color.WHITE); 
     tabView.setPadding(0, 2, 0, 0); 
     tab = tabHost.newTabSpec("test1").setIndicator(tabView).setContent(content); 
     tabHost.addTab(tab); 

     ... 
    } 

Моей проблема заключается в том, что в моем TabActivity и во всех 3-х вкладках Я хочу получить LocationUpdates, но мне нужно сделать некоторые проверки перед доставкой обновлений местоположения на вкладку Activity.
То, что я хотел сделать, это получить обновления местоположения в моем TabActivity, выполнить обработку и затем вызвать какой-либо метод на текущей вкладке Activity, однако я не могу получить к ней доступ с tabHost. Есть ли способ сделать это?

ответ

1

Если это все действия, то вы можете использовать материал ActivityGroup, так как TabActivity расширяет ActivityGroup. Вам нужно будет определить интерфейс местоположения или что-то, что реализовано во всех ваших действиях, чтобы избежать сбоев или делать проверки. Кроме того, если вы не слишком далеко еще вы должны рассмотреть возможность использования библиотеки совместимости и с использованием фрагментов, так как tabactivity и activitygroup устарели

LocalActivityManager m = getLocalActivityManager(); 
((LocationInterface)m.getCurrentActivity()).sendLocation(); 
+0

спасибо, я постараюсь это На этой неделе вы знаете, если он работает, как мне нужно :) – ffleandro

+0

он работал точно так, как мне было нужно :) спасибо брату. Знаете ли вы хороший учебник по внедрению TabActivity с помощью API-интерфейсов Fragments? – ffleandro

+0

http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/ попробуйте, хотя, просмотрев его, я бы сказал, что вы можете немного упростить его без табуста. просто используя кнопки или что-то в этом роде. но хорошее место для начала. – caguilar187