Input with EditText in Messagebox Android Tutorial

Pada artikel sebelumnya yang berjudul messagebox android tutorials, saya telah menjelaskan sedikit tentang messagebox pada android dan cara membuatnya, dan kali ini saya akan menjelaskan tentang messagebox juga tapi lebih detail, berikut penjelasannya.

Input with EditText in Messagebox Android Tutorial

Messagebox di android memiliki banyak fungsi, tergantung dari penggunaannya nanti. Kita bisa menggunakan messagebox untuk menampikan teks atau gambar sebagai informasi, menambah list, radio button atau check list untuk pengaturan, bahkan kita bisa membuat form masukan di dalam messagebox. Dan kali ini saya akan menambahkan masukan ke dalam messagebox, jadi nanti saya akan membuat perhitungan luas persegi panjang dan masing-masing komponen akan dimasukkan ke dalam messagebox. Oke berikut caranya :

Pertama, buat project baru bernama Message Input, dan untuk package beri nama blogsetyaaji.com
Setelah itu, pada activity_main.xml buat kode seperti berikut :


<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.blogsetyaaji.messagebox.MainActivity">

<Button
android:id="@+id/btnInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hitung Luas" />

<TextView
android:id="@+id/txthasil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="HASIL"
android:textSize="20dp"
android:layout_below="@id/btnInput"
android:gravity="center"/>

<Button
android:id="@+id/btnreset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CLEAR"
android:layout_marginTop="20dp"
android:layout_below="@id/txthasil"/>

<Button
android:id="@+id/btnKeluar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EXIT"
android:layout_marginTop="10dp"
android:layout_below="@id/btnreset"/>


</RelativeLayout>

Pindah ke MainActivity.java, ketikkan kode berikut ini :


package com.blogsetyaaji.messagebox;

import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.provider.ContactsContract;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
Context context = this;

Button btnKeluar, btnInput, btnreset;
TextView hasil;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btnKeluar = (Button) findViewById(R.id.btnKeluar);
btnKeluar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Membuat message box
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("EXIT");
builder.setMessage("Are you sure to exit?");
// Membuat tombol negativ
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
});
//Membuat tombol positif
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Bila pilih ok, maka muncul toast
finish();
}
});
builder.show();
}
});

btnInput = (Button) findViewById(R.id.btnInput);
btnInput.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

// Membuat layout
LinearLayout layoutinput = new LinearLayout(context);
layoutinput.setOrientation(LinearLayout.VERTICAL);
layoutinput.setPadding(50,50,50,50);

// buat id tersembunyi di alertbuilder
final TextView txtv = new TextView(context);
txtv.setText("Panjang");
txtv.setTextColor(Color.BLACK);
layoutinput.addView(txtv);

final EditText teks = new EditText(context);
teks.setInputType(2);
layoutinput.addView(teks);

final TextView txtv2 = new TextView(context);
txtv2.setText("Lebar");
txtv2.setTextColor(Color.BLACK);
layoutinput.addView(txtv2);

final EditText teks2 = new EditText(context);
teks.setInputType(2);
layoutinput.addView(teks2);

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Hitung Luas");
builder.setView(layoutinput);
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
});
//Membuat tombol positif
builder.setPositiveButton("Hitung", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Bila pilih ok, maka muncul toast
Toast.makeText(getApplicationContext(), "SUCCES", Toast.LENGTH_SHORT).show();
hasil = (TextView) findViewById(R.id.txthasil);
// Membuat perhitungan
int ang1 = Integer.parseInt(teks.getText().toString());
int ang2 = Integer.parseInt(teks2.getText().toString());
int hsl = ang1 * ang2;
hasil.setText("" +hsl);
}
});
builder.show();
}
});

btnreset = (Button) findViewById(R.id.btnreset);
btnreset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hasil.setText("HASIL");
}
});
}
}


Sekarang jalankan aplikasinya, tampilannya akan jadi seperti berikut ini

Input with EditText in Messagebox Android Tutorial

Input with EditText in Messagebox Android Tutorial


Input with EditText in Messagebox Android Tutorial

Input with EditText in Messagebox Android Tutorial

Sedikit penjelasan dari kode di atas, sebenarnya konsepnya sama dengan artikel sebelumnya tentang messagebox, hanya saja kali ini saya menambahkan komponen linear layout dan edittext ke dalam messagebox, serta menambahkan fungsi perhitungan luas ke dalam kode messagebox. Saya juga menambahkan fungsi validasi pada tombol keluar dan menambahkan fungsi reset pada tombol reset agar teks hitung kembali seperti semula. Pada komponen edittext di dalam messagebox juga diatur menjadi inputtype number agar selain karakter number tidak bisa diketikkan ke dalam komponen edittext. Untuk rincian kode silahkan sobat teliti kode di atas dan pahami fungsi-fungsinya.

Sekian artikel tentang Tutoral Input in Messagebox Android semoga bermanfaat, sekian dari saya dan nantikan artikel menarik lainya, sampai jumpa.

Tidak ada komentar

Diberdayakan oleh Blogger.