私はアンドロイドフラグメントが初めてです。actionbarsherlock FragmentsTabsPager を使用しています。3 つのフラグメントを含む 3 つのタブがあります。タブを選択するか、スワイプすることで、3 つのフラグメントすべてを表示できます。タブ(フラグメント)が選択されるたびに通知を受け取りたいです。タブをクリックしてスワイプすることで選択/再選択されるたびに、listfragment のリストビューをリロードしたいと考えています。これどうやってするの?フラグメントにコールバックがありますか。OncreateView、onactivitycreated が呼び出されていません。
質問する
338 次
1 に答える
0
これが良い解決策かどうかわからない...
リスナー:
public interface OnShowFragmentListener {
abstract public void onShow();
}
タブアダプタの場合:
private OnShowFragmentListener onShowSearchScreenListener = new OnShowFragmentListener() {
@Override
public void onShow() {
}
};
public void setOnShowFragmentListener(OnShowFragmentListener onShowFragmentListener) {
this.onShowFragmentListener = onShowFragmentListener;
}
@Override
public void onTabChanged(String tabId) {
int position = tabHost.getCurrentTab();
viewPager.setCurrentItem(position);
if (position == 0) {
onShowFragmentListener.onShow();
}
}
そして、タブフラグメントのonCreate()で:
MainTabsPager main = (MainTabsPager) getActivity();
main.setOnShowFragmentListener(new MainTabsPager.OnShowFragmentListener() {
@Override
public void onShow() {
updateFragment();
}
});
于 2012-10-21T00:09:02.987 に答える