Tutorial Android Prompt User Input Dialog

Dalam tutorial ini, kita akan menambah sebelumnya AlertDialog, untuk membuatnya mampu menerima input, seperti PromptDialog. Lebih spesifik, ini seperti AlertDialog.
Lihat langkah-langkah berikut:
  1. Membuat layout dialog prompt (file XML).
  2. Melampirkan tata letak dialog prompt untuk AlertDialog.Builder.
  3. Melampirkan AlertDialog.Builder untuk AlertDialog.
  4. Done :D 

Contoh Membuat Project Android

1. Pada Android Studio, buatlah project baru.
     => Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
     => Jika Anda telah membuka project, dari menu File, pilih New Project.

    2. Pada Configure your new project, isi kolom berikut seperti di bawah ini.
     => Application name ⇒ PromptDialog
     => Company domain ⇒ example.com ( Misalnya: com.megadistudio.PromptDialog )
     => Project Location ⇒ memilih lokasi untuk project Anda.

    3. Pada Select the form factors your app will run oncentang untuk Phone and Tablet.
     => Untuk Minimum SDK, pilih API 10: Android 2.3.3 (Gingerbread). klik Next.

    4. Pada Add an activity to Mobile, pilih Blank Activity dan klik Next.
    Next ->

    5. Klik tombol Finish untuk membuat project.
    6. Pilih View Anda sebagai Project, Buka file layout untuk kegiatan utama (activity_main.xml) terletak di bawah App  res ⇒ layout.

    activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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:id="@+id/activity_main"
        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"
        tools:context="promptdialog.megadistudio.com.promptdialog.MainActivity"
        android:background="@android:color/holo_green_light">
    
        <TextView
            android:text="@string/tk"
            android:textSize="50sp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:id="@+id/textView" />
    
        <ImageView
            android:layout_width="150dp"
            android:layout_height="150dp"
            app:srcCompat="@drawable/tk"
            android:layout_below="@+id/textView"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:id="@+id/imageView" />
    
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText"
            android:layout_below="@+id/imageView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="32dp"
            android:background="@android:color/background_light" />
    
        <Button
            android:text="Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="55dp"
            android:id="@+id/button"
            android:layout_alignTop="@+id/editText"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

    7.  Selanjutnya, buatlah file xml dan beri nama prompt. caranya, klik kanan pada folder layout => new => layout resource file. 


    prompt.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:text="@string/msg"
            android:textSize="20sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textView2" />
    
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText2">
    
            <requestFocus/>
    
        </EditText>
    </LinearLayout>

    8.  Buka string.xml terletak di app ⇒ res ⇒ value dan copy kode di bawah ini.

    string.xml
    <resources>
        <string name="app_name">PromptDialog</string>
        <string name="tk">Tahu Koding</string>
        <string name="msg">Your message : </string>
    </resources>

    9. Sekarang Buka MainActivity.java terletak di app ⇒ src ⇒ Java dan copy kode di bawah ini.

    MainActivity.java
    package promptdialog.megadistudio.com.promptdialog;
    
    import android.content.Context;
    import android.content.DialogInterface;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class MainActivity extends AppCompatActivity {
    
        final Context context = this;
        private Button btn;
        private EditText result;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btn = (Button) findViewById(R.id.button);
            result = (EditText) findViewById(R.id.editText);
    
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    LayoutInflater li = LayoutInflater.from(context);
                    View promptView = li.inflate(R.layout.prompt, null);
    
                    AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
    
                    alertDialog.setView(promptView);
    
                    final EditText userinput = (EditText) promptView.findViewById(R.id.editText2);
    
                    alertDialog.setCancelable(false).setPositiveButton("Ok", new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int id) {
                            result.setText(userinput.getText());
                        }
                    })
                            .setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
    
                    AlertDialog alertDialog1 = alertDialog.create();
    
                    alertDialog1.show();
    
                }
            });
        }
    }

    Untuk menjalankan aplikasi dari Android Studio , klik Run ikon dari toolbar.





    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel