Dalam menerapkannya kita dapat menggunakan bantuan java switch statement ataupun if-else statement pada String, int, short, long, boolean dan lain sebagainya yang dapat bekerja pada switch atau if-else statement. Namun untuk boolean tentu kita akan mendapatkan hanya 2 fungsi saja karena memang nilai dari boolean hanya 2 (true dan false).
Baik, di artikel ini kita akan membuat 7 fungsi dari sebuah tombol / listener, menggunakan objek Button dengan java switch statement. Tentu Anda dapat membuat sebanyak mungkin yang diinginkan, karena ini hanya contoh.
Misalnya kita ingin mengucapkan salam atau pesan kepada pengguna aplikasi yang baru saja menginstall aplikasi kita. Pada layout activity_main.xml, kita memiliki sebuah Textview dan sebuah Button. Nilai string dari Textview tersebut akan kita buat berubah dan berbeda sebanyak 7 kali setiap kali mengklik tombol. Lalu pada klik yang ke-7 pada tombol, visibility dari Textview dan Button kita hilangkan. Berikut isi layoutnya.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:padding="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textPesan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:textSize="25sp"
android:text="Selamat datang!"
android:fontFamily="serif"
android:textColor="@color/colorPrimaryDark"/>
<Button
android:id="@+id/tombolNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selanjutnya"
android:fontFamily="serif"
android:textSize="25sp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
package com.gwnbs.tombol;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private String setKlik = "klik 1";
private TextView textPesan;
private Button tombolNext;
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textPesan = findViewById(R.id.textPesan);
tombolNext = findViewById(R.id.tombolNext);
tombolNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (setKlik) {
case "klik 1":
textPesan.setText("Terima kasih sudah mengunduh aplikasi ini.");
setKlik = "klik 2";
break;
case "klik 2":
textPesan.setText("Aplikasi ini dirancang khusus untuk kamu yang suka nge-klik tombol.");
setKlik = "klik 3";
break;
case "klik 3":
textPesan.setText("Di desain menarik dan akan mudah untuk dipahami.");
setKlik = "klik 4";
break;
case "klik 4":
textPesan.setText("Antarmuka pengguna yang simpel dan tentunya dukungan 24 jam jika kamu membutuhkan bantuan.");
setKlik = "klik 5";
break;
case "klik 5":
textPesan.setText("Semoga kamu menyukai aplikasi ini. Dan jangan lupa untuk memberikan ulasan kamu tentang aplikasi di Playstore ya..");
setKlik = "klik 6";
break;
case "klik 6" :
textPesan.setText("Klik tombol dibawah untuk mengakhiri pesan sambutan ini.");
setKlik = "klik 7";
tombolNext.setText("Selesai");
break;
case "klik 7" :
textPesan.setVisibility(View.GONE);
tombolNext.setVisibility(View.GONE);
break;
}
}
});
}
}
package com.gwnbs.tombol;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private int setKlik = 1;
private TextView textPesan;
private Button tombolNext;
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textPesan = findViewById(R.id.textPesan);
tombolNext = findViewById(R.id.tombolNext);
tombolNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (setKlik) {
case 1:
textPesan.setText("Terima kasih sudah mengunduh aplikasi ini.");
setKlik = 2;
break;
case 2:
textPesan.setText("Aplikasi ini dirancang khusus untuk kamu yang suka nge-klik tombol.");
setKlik = 3;
break;
case 3:
textPesan.setText("Di desain menarik dan akan mudah untuk dipahami.");
setKlik = 4;
break;
case 4:
textPesan.setText("Antarmuka pengguna yang simpel dan tentunya dukungan 24 jam jika kamu membutuhkan bantuan.");
setKlik = 5;
break;
case 5:
textPesan.setText("Semoga kamu menyukai aplikasi ini. Dan jangan lupa untuk memberikan ulasan kamu tentang aplikasi di Playstore ya..");
setKlik = 6;
break;
case 6 :
textPesan.setText("Klik tombol dibawah untuk mengakhiri pesan sambutan ini.");
setKlik = 7;
tombolNext.setText("Selesai");
break;
case 7 :
textPesan.setVisibility(View.GONE);
tombolNext.setVisibility(View.GONE);
break;
}
}
});
}
}
Int dan model data bilangan lainnya didalam sebuah metode klik listener atau di dalam onCreate activity, nilainya dapat terus berubah (bertambah atau berkurang tergantung dari operasi bilangan) secara otomatis setiap kali tombol tersebut di klik. Pada contoh diatas, di setiap statement kita menuliskan dan merubah nilai dari int itu secara manual.
MainActivity.java :
package com.gwnbs.tombol;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private int setKlik;
private TextView textPesan;
private Button tombolNext;
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textPesan = findViewById(R.id.textPesan);
tombolNext = findViewById(R.id.tombolNext);
tombolNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setKlik = setKlik + 1;
switch (setKlik) {
case 1:
textPesan.setText("Terima kasih sudah mengunduh aplikasi ini.");
break;
case 2:
textPesan.setText("Aplikasi ini dirancang khusus untuk kamu yang suka nge-klik tombol.");
break;
case 3:
textPesan.setText("Di desain menarik dan akan mudah untuk dipahami.");
break;
case 4:
textPesan.setText("Antarmuka pengguna yang simpel dan tentunya dukungan 24 jam jika kamu membutuhkan bantuan.");
break;
case 5:
textPesan.setText("Semoga kamu menyukai aplikasi ini. Dan jangan lupa untuk memberikan ulasan kamu tentang aplikasi di Playstore ya..");
break;
case 6 :
textPesan.setText("Klik tombol dibawah untuk mengakhiri pesan sambutan ini.");
tombolNext.setText("Selesai");
break;
case 7 :
textPesan.setVisibility(View.GONE);
tombolNext.setVisibility(View.GONE);
break;
}
}
});
}
}
0 comments:
Post a Comment