Hallo sobat JK, kali ini saya berbagi tutorial bagaimana menggunakan button di android. Button merupakan salah satu bagian penting dari android. Ada dua cara supaya button yang kita buat diaplikasi bisa berfungsi dengan baik ketika diklik.
1. Menggunakan atribut "onClick" pada file XML.
2. Menggunakan "OnClickListener".
Pada tutorial ini kita akan membuat aplikasi android sederhana untuk menginputkan data dengan menerapkan dua cara diatas untuk menghandel button, Ok langsung saja..
Pertama, buat projek android dengan nama UseButton. Kemudian isikan activity_main.xml dengan kode berikut :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <!--Bismillaahirrahmaanirrahiim--> <TextView android:text="@string/kecepatan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="15pt" android:textColor="#fd010101" android:id="@+id/textView" android:gravity="center" android:layout_gravity="center_horizontal" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/nama" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:hint="Nama Lengkap" android:inputType="text" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/alamat" android:hint="Alamat" android:inputType="text" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:hint="Email" android:id="@+id/email" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Input 1" android:id="@+id/input" android:onClick="input" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Input 2" android:id="@+id/inputListener" android:layout_gravity="right" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_judul" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_nama" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_alamat" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_email" /> </LinearLayout>
Buat file MainActivity.java nya seperti berikut :
package com.almibi.hp.usebutton; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends ActionBarActivity { EditText name, address,email; TextView a,b,c, title; Button submit, submitListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); name = (EditText)findViewById(R.id.nama); address = (EditText)findViewById(R.id.alamat); email = (EditText)findViewById(R.id.email); a = (TextView)findViewById(R.id.txt_nama); b = (TextView)findViewById(R.id.txt_alamat); c = (TextView)findViewById(R.id.txt_email); title = (TextView)findViewById(R.id.txt_judul); submit = (Button)findViewById(R.id.input); submitListener = (Button)findViewById(R.id.inputListener); //handel tombol menggunakan setOnClickListener submitListener.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent pindah = new Intent(MainActivity.this, hasil.class); startActivity(pindah); } }); } //handel tombol menggunakan onClick public void input(View view){ String s = name.getText().toString(); String t = address.getText().toString(); String u = email.getText().toString(); title.setText("Data Yang di input :"); a.setText("Nama : "+s); b.setText("Alamat : "+t); c.setText("Email : "+u); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Dari desain aplikasi diatas ada 2 tombol, yaitu tombol "Input 1" dan "Input 2". Tombol "Input 1" menggunakan atribut onClick dari file xml sedangkan "Input 2" menggunakan OnClickListener.
Kemudian buat satu activity lagi dengan nama "hasil", untuk lebih jelas bisa lihat gambar dibawah ini.
Berikut ini adalah isi dari activity yang baru kita buat :
activity_hasil.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.almibi.hp.usebutton.hasil"> <TextView android:text="@string/ucapan"
android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="15pt" /> </RelativeLayout>
hasil.java
package com.almibi.hp.usebutton; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class hasil extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hasil); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_hasil, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Berikut ini adalah strings.xml , terletak di res/value/strings.xml
<resources> <string name="app_name">UseButton</string> <string name="kecepatan">Input Data</string> <string name="action_settings">Settings</string> <string name="title_activity_hasil">hasil</string> <string name="hello_world">Hello world!</string> <string name="ucapan">Data barhasil disubmit</string> </resources>
Output :
Sekian tutorial dari saya, kalau ada yang kurang jelas silahkan coret-coret dibawah. :D
Mohon maaf atas segala kekurangan, terimakasih sudah membaca tutorial ini (y)