Mobile_Application_Developm.../AirKoality/app/src/main/java/at/fhj/airkoality/ui/activity/MainActivity.java

96 lines
3.2 KiB
Java

package at.fhj.airkoality.ui.activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import at.fhj.airkoality.R;
import at.fhj.airkoality.ui.fragment.LocationListFragment;
import at.fhj.airkoality.ui.fragment.MapFragment;
public class MainActivity extends AppCompatActivity {
private Fragment locationListFragment;
private Fragment mapFragment;
private static final String LOCATION_LIST = "location_list";
private static final String MAP = "map";
private static final String FRAGMENT_PREF_KEY = "last_fragment";
private BottomNavigationView bottomNavigationView;
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationListFragment = new LocationListFragment();
mapFragment = new MapFragment();
bottomNavigationView = findViewById(R.id.bnvMain);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.flFragmentContainer, locationListFragment);
transaction.add(R.id.flFragmentContainer, mapFragment);
transaction.commit();
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.action_location:
setSelectedFragment(LOCATION_LIST);
sharedPreferences.edit()
.putString(FRAGMENT_PREF_KEY, LOCATION_LIST)
.commit();
break;
case R.id.action_map:
setSelectedFragment(MAP);
sharedPreferences.edit()
.putString(FRAGMENT_PREF_KEY, MAP)
.commit();
break;
}
return false;
}
});
setSelectedFragment(sharedPreferences.getString("last_fragment", LOCATION_LIST));
}
private void setSelectedFragment(String fragmentName){
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
switch (fragmentName) {
case LOCATION_LIST:
transaction.hide(mapFragment);
transaction.show(locationListFragment);
break;
case MAP:
transaction.hide(locationListFragment);
transaction.show(mapFragment);
break;
}
transaction.commit();
}
}