0

Ich habe Fragment Tabs in TabLayout erstellt. Ich klicke auf meinen FloatingActionButton, es bringt mich zu einer leeren Aktivität, dann habe ich eine "Zurück" -Schaltfläche in dieser leeren Aktivität und ich möchte, dass diese Zurück-Schaltfläche mich zu der Registerkarte führt, auf der ich war, als ich auf den FloatingActionButton klickte.Sie müssen von verschiedenen Aktivitäten anstelle von Standard zu der angegebenen Registerkarte zurückkehren. Erste Registerkarte

Gerade jetzt, alles, was ich bekomme, ist Rückkehr zum Standard 1. Tab nur, egal auf welcher der 3 Registerkarten ich war.

public class MainActivity extends AppCompatActivity { 

private SectionsPagerAdapter mSectionsPagerAdapter; 


private ViewPager mViewPager; 

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 



    // Create the adapter that will return a fragment for each of the three 
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

    //setup the viewPager adapter 
    mViewPager = (ViewPager) findViewById(R.id.container); 
    mViewPager.setAdapter(mSectionsPagerAdapter); 

    final TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(mViewPager); 



    final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      Intent startIntent = new Intent(getApplicationContext(), BroadcastPage.class); 
      //Go To Log In XML File 
      startActivity(startIntent); 

      Intent welcome = new Intent(MainActivity.this, BroadcastPage.class); 


      finish(); 

     } 
    }); 


} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(menu_main, menu); 
    return true; 
} 



@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 

     // launch settings activity 
     startActivity(new Intent(MainActivity.this, SettingsActivity.class)); 


     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 



    public class SectionsPagerAdapter extends FragmentPagerAdapter { 

    public SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch(position) { 


    case 0: 
    World activity_world_tab = new Worldtab(); 
    return activity_world_tab; 


    case 1: 
    BroadcastTab activity_broadcast_tab = new BroadcastTab(); 
    return activity_broadcast_tab; 



case 2: 
    GroupsTabBar activity_groups_tabbar = new GroupsTabBar(); 
    return activity_groups_tabbar; 


      default: 
       return null; 

     } 

    } 

    @Override 
    public int getCount() { 
     // Show 3 total pages. 
     return 3; 
    } 



    @Override 
    public CharSequence getPageTitle(int position) { 



     switch (position) { 
      case 0: 
       return ""; 
      case 1: 
       return "SECTION 2"; 
      case 2: 
       return "SECTION 3"; 
     } 
     return null; 

     } 
     } 
     } 

Antwort

0

Sie benötigen finish() auf dem Klick Zuhörer Ihrer fab Taste zu entfernen. Das sollte dein Problem lösen. So sollte Ihr onClickListener für die Fab-Schaltfläche aussehen:

fab.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 


     Intent startIntent = new Intent(getApplicationContext(), BroadcastPage.class); 
     //Go To Log In XML File 
     startActivity(startIntent); 

     Intent welcome = new Intent(MainActivity.this, BroadcastPage.class); //you could erase this line since its not really needed 

    } 
}); 
+0

Danke Ich habe es versucht, aber es löst nicht mein Problem. Es ändert nichts wirklich – iBEK

+0

Ich denke, es gibt ein Problem mit den Bedingungen in Ihrer OnRestoreInstanceState (Bundle SavedInstanceState) -Funktion. savedInstanceState.getInt ("PAGE 0") sollte durch savedInstanceState.getInt ("PAGE") ersetzt werden –

+0

Möglicherweise ist mit dem gesamten Code, der dem Speichern und Wiederherstellen von Instanzzuständen zugeordnet ist, etwas nicht in Ordnung – iBEK

Verwandte Themen