3
我創建了一個包含兩個選項卡的活動。其中一個標籤是地圖(Google Maps API v2)。添加視圖底部的地圖片段內的標籤
沒有活動佈局(沒有調用setContent()),因爲活動屏幕動態填充片段,具體取決於選定的選項卡。
現在,我需要在地圖的底部添加一個TextView。
我想我可以擴展MapFragment
,然後在onCreateView
方法上工作,以便返回包含Map和TextView的不同視圖。我不知道我該怎麼做。任何建議?
編輯:
actionbar.addTab(actionbar.newTab()
.setText("LIST")
.setTabListener(new TabListener<ListFragment>(
this, "list", ListFragment.class)));
Log.i("TabListener","chiamata TABLISTENER 2");
actionbar.addTab(actionbar.newTab()
.setText("MAP")
.setTabListener(new TabListener<CustomMapFragment>(
this, "map", CustomMapFragment.class)));
的TabListener類:
public class TabListener<T extends Fragment> implements ActionBar.TabListener {
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
private final Bundle mArgs;
private Fragment mFragment;
public TabListener(Activity activity, String tag, Class<T> clz) {
this(activity, tag, clz, null);
}
public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if (mFragment != null) {
ft.detach(mFragment);
}
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
}
發表一些關於如何創建片段和你的xml的代碼,我想看看你是如何設置的 – tyczj
編輯完成!不需要xml,因爲我沒有設置佈局。 – GVillani82
檢查這個問題http://stackoverflow.com/questions/14694119/how-to-add-buttons-at-top-of-map-fragment-api-v2-layout –