I have 2 files: main_activity.xml and home.xml. I made a button in main_activity.xml
Here is the code snippet:
android:onClick
was added in API level 4 to make it easier, more Javascript-web-like, and drive everything from the XML. What it does internally is add an OnClickListener
on the Button
, which calls your home method.
<Button
android:id="@+id/Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="43dp"
android:onClick="home"
android:text="Home" />
.
public void home(View view){
Intent intent=new Intent (view.getContext(),Luton.class);
this.startActivity(intent);
}
In your activity class
Using java code you can do button click by getting the id of the button from xml.
<Button
android:id="@+id/myHomeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="43dp"
android:text="Home" />
.
Button button= (Button) findViewById(R.id.myHomeButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do whatever you want on button click
}
});
Both are exactly the same
I will give you just a little bit to get you started as this answer may help others that are having trouble with using onClick()
this way but you really need to learn Java and go through the Android Docs so you can ask better questions
You need to read Here about Actviities
and how to create them. Then in your code you will have a function
public void home(View v) //the name of this function comes from where you declared in your manifest `android:onClick="home"
{
Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start
can add intent extras/flags/categories here
startActivity(intent);
}
You also need to add the HomeActivity
in your manifest
as you have for the other Activities
.
But you really need to go through the docs and do some tutorials to get an idea of how the Android framework operates and you need to learn Java to make your life a whole lot easier. Besides the previous two links I have given, also see this post about click events as there are different ways to use onClick()
I hope this is enough to get you started and I really hope you go through the docs to get a better understanding of what you are doing. Good luck to you!
Another important link to get started
Intents
create another class goto your project right click and click class and create Home. In that Home class file extends activity and add code like this
public class Home extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
}
}
in splash activity class add this line
Intent intent = new Intent(SplashActivity.this,Home.class);
startActivity(intent);
add Home activity class in your android manifest file
<activity android:name="com.example.idozer.Home"
android:label="@string/app_name" >
</activity>
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
}
});
For managing click activity in android ,you can do as below
Implement OnClickListener
on YourActivity.java class like
public class MainActivity extends Activity implements OnClickListener
Then, declare your button in .java class like
Button btn = (Button) findViewById(R.id.btnPlay);
Then use button btn
variable as below
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myClick(v); /* my method to call new intent or activity */
}
});
Handle the click event:
public void myClick(View v) {
Intent intent = new Intent(**this, Swipe.class**);
startActivity(intent);// for calling the activity
}
you also need to register your activity(.java) in android manifest
as below
<activity
android:name=".Swipe"
android:screenOrientation="landscape" >
</activity>
You can use this code.
Android: OnClickListener
In our activity class we add the onclick method.
In our activity class we add the onclick method.
//On click event for button1
public void button1OnClick(View v) {
//Inform the user the button has been clicked
Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show();
}
In the layout file we add a reference to the onclick handler in the activity. The app will automatically bind the onclick method to the view (in this case button1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button1"
android:onClick="button1OnClick"/>
</LinearLayout>