Jennifer
Jennifer

Reputation: 1852

How to use Intent in Android from activity?

I'm having trouble trying to use intents to move from the OnItemClicked in Android. I've Googled many sites for solutions but I still keep getting errors. What I want to do is to Go from MenuActivity to MainActivity when the navigationDrawers button is pressed "Home".

Here is my sample code.

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        menu = new String[]{"Home","And","Win","nux","berry P","Word","Vis","Co"};
        dLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        dList = (ListView) findViewById(R.id.left_drawer);
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menu);
        dList.setAdapter(adapter);
    dList.setSelector(android.R.color.holo_blue_dark);
        dList.setOnItemClickListener(new OnItemClickListener(){
      @Override
      public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
        dLayout.closeDrawers();
        Bundle args = new Bundle();
        Fragment detail = null;
        args.putString("Menu", menu[position]);
        if(menu[position].equals("Home")){
            Intent i = new Intent(MenuActivity.this,MainActivity.class);
            startActivity(i);
            finish();
        }else{
         detail = new DetailFragment();
        }
        detail.setArguments(args);
          FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.content_frame, detail).commit();
      }
        });

Upvotes: 0

Views: 66

Answers (1)

Simas
Simas

Reputation: 44118

finish() does not exit immediately therefore if you don't call return after it, the remaining code will be executed. Try this:

if (menu[position].equals("Home")) {
    Intent i = new Intent(MenuActivity.this, MainActivity.class);
    startActivity(i);
    finish();
    return;
} else {
    detail = new DetailFragment();
}

Upvotes: 1

Related Questions