AlertDialog

Dialog1

ไดอะล็อก Yes/No

activity_main.xml

[code lang=”xml”]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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="com.phaisarn.jackapplication.MainActivity">

<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click" />
</LinearLayout>
[/code]

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

import android.content.DialogInterface;
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.Toast;

public class MainActivity extends AppCompatActivity {

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

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("This is dialog 1.");
builder.setMessage("Are you OK?");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "OK", Toast.LENGTH_SHORT).show();
;
}
});
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "NO", Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
});
}
}
[/code]

Dialog2

ไดอะล็อกตัวเลือกแบบ Single choice แบบที่ 1

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

import android.content.DialogInterface;
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.Toast;

public class MainActivity extends AppCompatActivity {

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

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String[] items = {"2557", "2558", "2559", "2560"};
new AlertDialog.Builder(MainActivity.this)
.setTitle("This is dialog 2.")
.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
}
})
.show();
}
});
}
}
[/code]

Dialog3

ไดอะล็อกตัวเลือกแบบ Single choice แบบที่ 2

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

import android.content.DialogInterface;
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.ListView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String[] items = {"2557", "2558", "2559", "2560"};
new AlertDialog.Builder(MainActivity.this)
.setTitle("This is dialog 3.")
.setSingleChoiceItems(items, -1, null)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ListView listView = ((AlertDialog) dialog).getListView();
int i = listView.getCheckedItemPosition();
if (i >= 0) {
Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
}
}
})
.show();
}
});
}
}
[/code]

Dialog4

ไดอะล็อกตัวเลือกแบบ Multiple choice

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

import android.content.DialogInterface;
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.Toast;

import java.util.ArrayList;
import java.util.Collections;

public class MainActivity extends AppCompatActivity {

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

final ArrayList<Integer> resultList = new ArrayList<>();

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String[] items = {"2557", "2558", "2559", "2560"};
boolean[] isSelected = new boolean[items.length];
for (int i : resultList)
isSelected[i] = true;

new AlertDialog.Builder(MainActivity.this)
.setTitle("This is dialog 4.")
.setMultiChoiceItems(items, isSelected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked)
resultList.add(which);
else if (resultList.contains(which))
resultList.remove(Integer.valueOf(which));
}
})
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String str = "";
Collections.sort(resultList);
for (int i : resultList) {
str += items[i];
if (i < resultList.size()-1)
str += "\n";
}
if (str.length() > 0)
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
}
})
.show();
}
});
}
}
[/code]

Dialog5

ไดอะล็อกปรับแต่งเอง

layout_login.xml

[code lang=”xml”]
<?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">

<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Username"
android:textAlignment="center" />

<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Password"
android:inputType="textPassword"
android:textAlignment="center" />
</LinearLayout>
[/code]

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

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;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Collections;

public class MainActivity extends AppCompatActivity {

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

final ArrayList<Integer> resultList = new ArrayList<>();

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LayoutInflater layoutInflater = getLayoutInflater();
final AlertDialog builder = new AlertDialog.Builder(MainActivity.this)
.setTitle("This is dialog 5")
.setView(layoutInflater.inflate(R.layout.layout_login, null))
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.create();
builder.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button button = builder.getButton(builder.BUTTON_POSITIVE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText = (EditText) builder.findViewById(R.id.username);
String str = editText.getText().toString().trim();
if (str.length() > 0) {
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
}
builder.dismiss();
}
});
}
});
builder.show();
}
});
}
}
[/code]

Dialog6

ไดอะล็อกดาวน์โหลดข้อมูล

MainActivity.java

[code lang=”java”]
package com.phaisarn.jackapplication;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

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

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String title = "Downloading data";
String msg = "Please wait…";
final ProgressDialog dialog = ProgressDialog.show(MainActivity.this, title, msg);

Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
dialog.dismiss();
}
});
thread.start();
}
});
}
}
[/code]