Search code examples
androidmenuandroid-activityclickable

How do I create a clickable item in menu to open a new activity?


I have made an app with a lot of buttons and activities. I'm having trouble though understanding how to start a new activity through a button that is in my menu (when the menu button is clicked on phone) (inflatable menu). This is my code for the menu connected to my activity:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/item1" android:title="@string/menu_home"></item>
</menu>

Here is my activities in Java:

package com.gmail.derekcraigsmith.nanaimobus;

import android.os.Bundle;
import android.app.Activity;
import android.content.ClipData.Item;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class Route1TimesCcMonfriAActivity extends Activity implements            

OnMenuItemClickListener {

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

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.route1_times_cc_monfri_a, menu);
    return true;
}

@Override
public boolean onMenuItemClick(MenuItem item) {
    // TODO Auto-generated method stub
    return false;
}
}

Solution

  • int id = item.getItemId(); 
      switch (id) {
        case R.id.your_menu_item_id : {
           startActivity(new Intent(start_activity, next_activity));
    
     }
    

    where start activity is your main activity and next_activity is the activity you want to start. Give a look on my blog here for more info.