如何通过多个活动共享导航抽屉

时间:2016-01-08 10:06:06

标签: java android navigation-drawer

我的导航抽屉出了问题,我希望通过所有活动分享它,但我不知道如何做到这一点。

如果您有任何想法,它肯定会帮助我。

这是我的代码:

主要活动:

public class MainActivity extends AppCompatActivity  {
private Toolbar toolbar;
private DrawerLayout drawerLayout;
private ActionBarDrawerToggle drawerToggle;
private ListView listView;
private ArrayList<Main_Content> Main_content;
private ListViewAdapter adapter;
ImageButton ConnectButton;
EditText iden_text, pass_text;

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

    Main_content = new ArrayList<>(); //Déclaration de la liste Main_content ou se trouveront les éléments de notre menu

    findViewById();
    setSupportActionBar(toolbar);

    initDrawerLayout();


    ConnectButton.setOnClickListener(new View.OnClickListener()
    {

        @Override
        public void onClick(View view)
        {
            if (iden_text.getText().toString().equals("admin") && pass_text.getText().toString().equals("admin"))
            {
                Toast.makeText(getApplicationContext(), "Vérification des données...", Toast.LENGTH_SHORT).show();
                Intent Bienvenue = new Intent(MainActivity.this,Bienvenue.class);
                Bienvenue.putExtra("iden_text", iden_text.getText().toString());
                startActivity(Bienvenue);

            }
            else
            {
                Toast.makeText(getApplicationContext(), "Identifiants incorrects", Toast.LENGTH_SHORT).show();

            }


        }
    } );
}

public void findViewById()
{
    listView = (ListView) findViewById(R.id.list);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    ConnectButton = (ImageButton) findViewById(R.id.imageButton2);
    iden_text = (EditText) findViewById(R.id.editText);
    pass_text = (EditText) findViewById(R.id.editText2);
}


public void initDrawerLayout() {
    setListViewData();
    setListViewHeader();
    //Mount listview with adapter
    adapter = new ListViewAdapter(this, R.layout.item_listview, Main_content);
    listView.setAdapter(adapter);

    drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar,
            R.string.drawer_open, R.string.drawer_close) {

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);

        }
    };
    drawerLayout.setDrawerListener(drawerToggle);
}

public void setListViewHeader() {
    LayoutInflater inflater = getLayoutInflater();
    View header = inflater.inflate(R.layout.header_listview, listView, false);
    listView.addHeaderView(header, null, false);
}

public void setListViewData() { //Liste afficher dans le menu
    Main_content.add(new Main_Content(R.mipmap.id_small,"Carte ID", "Nom Random"));
    Main_content.add(new Main_Content(R.mipmap.note_small, "Relevé de note", "Note"));
    Main_content.add(new Main_Content(R.mipmap.calendar, "Calendrier", "Jours"));
    Main_content.add(new Main_Content(R.mipmap.souper, "Menu Cantine", "Jours"));
    Main_content.add(new Main_Content(R.mipmap.abs, "Absences & Retard", "Jours"));
    Main_content.add(new Main_Content(R.mipmap.disconnect, "Déconnexion", "OUI"));
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    drawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    drawerToggle.onConfigurationChanged(newConfig);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);

    return super.onCreateOptionsMenu(menu);
}

/**
 * Replace fragment to Main layout
 * @param Main_content
 */
public void updateMainLayout(Main_Content Main_content) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

    transaction.replace(R.id.container, ContentFragment.newInstance(Main_content));
    transaction.commit();

    //Ferme la navigation une fois que le fragment a été remplacé.
    drawerLayout.closeDrawers();
}





}

欢迎课程

public class Welcome extends  MainActivity {
  TextView tvView;
  private Toolbar toolbar;
  private DrawerLayout drawerLayout;
  private ActionBarDrawerToggle drawerToggle;
  private ListView listView;
  private ArrayList<Main_Content> Main_content;
  private ListViewAdapter adapter;


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

    tvView = (TextView) findViewById(R.id.WelcomeiD);

    Intent Bienvenue = getIntent();

    String Name = Bienvenue.getStringExtra("iden_text");

    tvView.setText("Bienvenue " + Name);
  }
}

感谢。

1 个答案:

答案 0 :(得分:0)

创建一个BaseActivty,它具有导航抽屉的所有功能,并将该活动扩展到所有其他活动!