So I am using the RibbonMenu library fro Android. I want to a start a new activity after a menuItem is selected. This is my menu/main.xml file
`
<item android:id="@+id/tactics" android:title="Tactics" android:icon="@drawable/ic_launcher"></item>
<item android:id="@+id/item2" android:title="Players" android:icon="@drawable/ic_launcher"></item>
<item android:id="@+id/item3" android:title="Teams" android:icon="@drawable/ic_launcher"></item>
<item android:id="@+id/item4" android:title="In-Game" android:icon="@drawable/ic_launcher"></item>
`
This is how I try to start an activity from my main activity.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home){
rbmView.toggleMenu();
}
if (id == R.id.tactics){
// I added a Toast here to print something random. But looks like this is never even getting recognized.
Intent i = new Intent(this, TouchlineInstructionActivity.class);
this.startActivity(i);
}
return true;
}
And this is my new activity.
`public class TouchlineInstructionActivity extends Activity implements iRibbonMenuCallback{
private RibbonMenuView rbmView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_touchline_instruction);
rbmView = (RibbonMenuView) findViewById(R.id.ribbonMenuView1);
rbmView.setMenuClickCallback(this);
rbmView.setMenuItems(R.menu.activity_main);
getActionBar().setDisplayHomeAsUpEnabled(true);}`
I have the activity added to my androidmanifest file as follows
`
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TouchlineInstructionActivity" >
</activity>
</application>`
There are no errors or anything. The app launches and works fine. But on clicking the button, the new activity just doesn’t start. Any ideas about what I am doing wrong here?
So I finally figured out what I was doing wrong. It’s a really stupid mistake honestly. So here goes, this piece of code right here
must go in the public void RibbonMenuItemClick(int itemId) method not the onOptionsItemSelected(Item item) method. It was a really stupid mistake on my part. I don’t even know how I thought my code made sense before.