안드로이드 맵 프래그먼트 질문이요!
조회수 2030회
구글맵을 프래그먼트로 만들지않고 액티비티상(?)에 띄우고있습니다. R.id.home 눌렀을때는 특정 좌표가 찍히는 지도가나오고, R.id.nav_record_section 눌렀을 때는 따로 만들어둔 프래그먼트화면이 띄워지고, R.id.nav_edit 눌렀을때 마찬가지로 따로 만들어둔 프래그먼트가 화면에 띄워집니다.
문제는 홈에서 다른 네비게이션 아이템을 클릭했을때는 잘 넘어가는데 따로 만들어둔 프래그먼트로 넘어갔다가 다시 홈화면으로 넘어오면 'java.lang.NullPointerException' 에러가 뜹니다....
혹시 이걸 개선하려면...
- 구글맵도 따로 프래그먼트화 시켜야하나요??
- 다른 네비게이션 아이템을 클릭했다가도 홈을 클릭하면 이전에 가지고있던 위치정보같은것은 못불러오나요??
public boolean onNavigationItemSelected(MenuItem item)
{
int id = item.getItemId();
Fragment fragment = null;
FragmentManager fragmentManager = getFragmentManager();
final RelativeLayout layout_summaryData = (RelativeLayout) findViewById(R.id.layout_summaryData);
final RelativeLayout layout_ridingData = (RelativeLayout) findViewById(R.id.layout_ridingData);
if (id == R.id.nav_home) {
Log.e(TAG, "네비 홈 눌렸다!");
navigationView.setCheckedItem(R.id.nav_home);
layout_ridingData.setVisibility(View.GONE);
layout_summaryData.setVisibility(View.GONE);
fab.setVisibility(View.VISIBLE);
fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startLocationUpdates();
//fab버튼누르면 라이딩으로 바뀜.
navigationView.setCheckedItem(R.id.nav_riding);
startRiding();
}
});
} else if (id == R.id.nav_record_section_info) {
navigationView.setCheckedItem(R.id.nav_record_section_info);
layout_ridingData.setVisibility(View.GONE);
layout_summaryData.setVisibility(View.GONE);
fab.setVisibility(View.GONE);
} else if (id == R.id.nav_edit) {
fragment = new EditFragment();
}
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace( R.id.fragment_place, fragment );
fragmentTransaction.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력