Amigo tengo un problema con mi aplicacion. Al abrir la aplicacion y ingresar luego del registro, entro al activity main donde debe verse el HomeFragment pero no me aparece, se ven todos los fragments que estan en mi aplicacion a los que voy desde los iconos del menu menos el principal que me debe aparecer al abrir la aplicacion y no se en donde puedo tener el error. Agradeceria si me pueden ayudar gracias. Es importante que el fragment si se visualiza si lo llamo desde algun icono del menu, pero no aparece automatico al abrir. Espero tu ayuda
ESTE ES UNA PARTE DEL MAIN ACTIVITY
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, HomeFragment.OnHomeFragmentListener {
protected final String TAG = MainActivity.class.getSimpleName();
public static final String INTENT_FILTER_INFO = MainActivity.class.getName() + ".INTENT_FILTER";
private boolean isBroadcastReceiver = false;
private DrawerLayout mDrawerLayout;
private GPSTracker mGpsTracker = null;
public static MainActivity myMain = null;
private Fragment mFragment = null;
private NavDrawerListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getIntent().getExtras();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
this.getSupportFragmentManager();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.setDrawerListener(drawerListener);
mGpsTracker = new GPSTracker(this);
mGpsTracker.setGPSCallback(gpsCallback);
licenseExpired();
}
private boolean myFrgmentAsHomeFragment(){
return mFragment != null && mFragment instanceof HomeFragment;
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
boolean blnSignOut = false, blnMessageDispatcher = false;
Fragment fragment = null;
int id = item.getItemId();
if (item==null) {
fragment=new HomeFragment();
getResources().getString(R.string.app_name);
}
else if (id == R.id.nav_place) {
mDrawerLayout.closeDrawers();
openTripTracker();
} else if (id == R.id.nav_msg_dispatcher) {
blnMessageDispatcher = true;
} else if (id == R.id.nav_history) {
fragment = new TripHistoryFragment();
getResources().getString(R.string.trip_history);
} else if (id == R.id.nav_msg_register) {
fragment = new MessageLogFragment();
getResources().getString(R.string.message_log);
} else if (id == R.id.nav_profile) {
fragment = new ProfileFragment();
getResources().getString(R.string.profile);
} else if (id == R.id.nav_settings) {
return super.onOptionsItemSelected(item);
} else if (id == R.id.nav_exit) {
blnSignOut = true;
}
//case SignOut
if (blnSignOut || blnMessageDispatcher) {
//close drawer
mDrawerLayout.closeDrawers();
//log out
if (blnSignOut) {
dialogSignOut();
}
//message to Dispatcher
else if (blnMessageDispatcher) {
onMessageDispatcher();
}
} else if (fragment != null) {
//swap fragment
swapFragment(fragment);
} else {
Log.v(TAG, "Error in creating fragment");
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
private void swapFragment(Fragment fragment){
try {
FragmentTransaction t = getSupportFragmentManager().beginTransaction();
t.replace(R.id.frame_container, fragment);
t.commit();
mFragment = fragment;
//close drawer
mDrawerLayout.closeDrawers();
} catch (Exception e) {
e.printStackTrace();
}
}
ESTA UNA PARTE DEL FRAGMENT
public class HomeFragment extends Fragment implements OnClickListener, OnMapReadyCallback {
protected final String TAG = HomeFragment.class.getSimpleName();
public interface OnHomeFragmentListener{
void onTripTrackerClick();
}
private OnHomeFragmentListener listener;
Timer timer;
TimerTask timerTask;
final Handler handler = new Handler();
private Button btnShowTrip;
private ToggleButton togDuty;
private GoogleMap mMap;
private boolean blnFirstMoveCamera = true;
private ToggleButton togStrip;
private int book;
private Location loc;
Bundle bundle;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
init(view);
setUpMapCallBack();
return view;
}
private void init(View view){
btnShowTrip = (Button)view.findViewById(R.id.btnShowTrip);
btnShowTrip.setOnClickListener(this);
togDuty = (ToggleButton)view.findViewById(R.id.tgDuty);
togDuty.setOnClickListener(this);
togStrip = (ToggleButton)view.findViewById(R.id.tgStrip);
togStrip.setChecked(false);
togStrip.setOnClickListener(this);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof OnHomeFragmentListener) {
listener = (OnHomeFragmentListener) activity;
}
}
@Override
public void onDetach() {
super.onDetach();
stoptimertask();
listener = null;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final boolean isDuty = AppController.getInstance().getSharedPrefHelper().getDriverStatus() == Common.DRIVER_STATUS.ON_DUTY ? true : false;
updateDuty(isDuty);
startTimer();
}