I'm trying to do 3 intents to start a new activity, however I find that I always get an error. I'm putting my code onto main.java code:
public class Main extends Activity {
Button service;
Button gallery;
Button contact;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
service = (Button)findViewById(R.id.Services);
service.setOnClickListener(new View.OnClickListener() {
});
gallery = (Button)findViewById(R.id.Gallery);
gallery.setOnClickListener(new View.OnClickListener() {
});
contact = (Button)findViewById(R.id.Contact);
contact.setOnClickListener(new View.OnClickListener() {
});
public void onClick (View v) {
// Inflate the menu; this adds items to the action bar if it is present.
Intent intent = new Intent (Main.this, servicesActivity.class);
startActivity(intent);
}
public void onClick1 (View v) {
Intent intent1 = new Intent (Main.this, galleryActivity.class);
startActivity(intent1);
}
public void onClick2 (View v) {
Intent intent2 = new Intent (Main.this, contactActivity.class);
startActivity(intent2);
}
}
}
I have tried different ways and even putting brackets in different places. also I have been searching on the internet for weeks and found nothing that work with more than 1. I'm getting errors on OnClick and new View.OnClickListener(). I have got one working which is why I tried the same code with 3 buttons. Basically I have 3 buttons on main activity.xml. All I want to do is:
>'button1 >goes> activity1'
>'button2 >goes> activity2'
>'button3 >goes> activity3'
Please give me any hints or tips as I'm new to Android dev.
You can do all of them inside the same
listener
. Set all thelisteners
this waythen use one function and check the
id
of theView
that was clickedYou can actually clean it up even more to not repeat variables with something like this
And as dymeh pointed out, make sure your
Activity
implements OnClickListener
This could probably be cleaned up a little more and may look more difficult but I use something like this in a custom menu and other places and it works nicely. It cuts down on separate functions and creating separate
Intents
. If you have to add something later or want to reuse the code it makes it a little easier, IMHO