2
我有一個列表視圖,它有一個地方列表 - 我有列表視圖的每一行的id,名稱和位置。我的數據本地存儲在sqlite中。Android在應用程序中傳遞數據
當用戶點擊一個特定的地方,我想如下
- 甲片段活動該主機的兩個片段
- 第一塊碎片,以顯示其被構造該特定位置中的下一個屏幕的細節在頂部有一個Viewpager指標,下面有信息。
- Second Fragment擁有一個Google Map,顯示地圖上的地點。
所以我需要知道用戶在三個不同的活動和片段中選擇的位置。
用戶應該能夠回去選擇一個新的地方,並應該再次能夠傳遞。
PlaceActivity.java這需要地方
public class PlaceActivity extends SherlockFragmentActivity implements
OnShareTargetSelectedListener {
private PlaceMapsFragment fragment_maps = null;
private PlaceDetailsFragment fragment_details = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_place);
ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle("Nandi Hills");
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tabMaps = actionBar.newTab();
ActionBar.Tab tabDetails = actionBar.newTab();
tabDetails.setText("Details");
tabMaps.setText("Maps");
tabDetails.setTabListener(new PlaceTabListener());
tabMaps.setTabListener(new PlaceTabListener());
actionBar.addTab(tabDetails);
actionBar.addTab(tabMaps);
}
private class PlaceTabListener implements ActionBar.TabListener {
@Override
public void onTabSelected(Tab tab,
android.support.v4.app.FragmentTransaction ft) {
ft.setCustomAnimations(android.R.anim.fade_in,
android.R.anim.fade_out);
// TODO Auto-generated method stub
if (tab.getPosition() == 0) {
if (fragment_details == null) {
fragment_details = new PlaceDetailsFragment();
ft.add(R.id.fragment_container, fragment_details,
PlaceDetailsFragment.TAG);
} else {
ft.show(fragment_details);
}
} else {
if (fragment_maps == null) {
// fragment_maps = new PlaceMapsFragment();
fragment_maps = PlaceMapsFragment.newInstance(new LatLng(
13.005621, 77.577531));
ft.add(R.id.fragment_container, fragment_maps,
PlaceMapsFragment.TAG);
} else {
ft.show(fragment_maps);
}
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if (tab.getPosition() == 0) {
if (fragment_details != null) {
ft.hide(fragment_details);
}
} else {
if (fragment_maps != null) {
ft.hide(fragment_maps);
}
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
}
這是一個很好的做法,在listview活動中設置靜態最終變量並嘗試從每個地方訪問它? –
這將是好的是因爲如果你使用裝載機和多選列表視圖你需要全球 – tyczj
等待你的意思是無處不在的活動是正確的嗎? – tyczj