AndroidのAlertDilogsは簡単で複雑なリストを表示する方法です。
10096 ワード
この例は、AndroidにおけるAlertDialogが簡単で複雑なリストを表示する方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
Alert Dialogは簡単なリストsetItemsを表示します。
一、AlertDialog.BuiderクラスのsetMulti ChoiceItems()方法によりリストダイアログを作成することができます。方法は以下の通りです。
1、リソースファイルからデータを読み込みます。
public Buider set Multi Choic Items(int items、bootlean[]checedItems、final OnMulti Choic Listener listener)
2、データセットからデータをロードする
public Buider setMulti Choic Items(Curor cursor、Strigis CheckedColumn、String label Column、final OnMulti Choic Listenerlistener)
3、文字列配列からデータをロードする
public Buider set Multi Choic Items(CharSequence[]items、bootlean[]checedItems、final OnMulti Choic Listener listener)
1、リソースファイルからデータを読み込みます。
public Buider setSingleChoicItems(int items Id、intch eckedItem、final OClistener listener)
2、データセットからデータをロードする
public Buider setSingleChoicItems(Curor cursor、intch eckedItem、String label Column、final OnClikListenerlistener)
3、文字列配列からデータをロードする
public Buider setSingle ChoicceItems(CharSequence[]items、intch eckedItem、final OnClistener listener)
4、ListAdapterオブジェクトからデータをロードする
public Buider setSingle ChoicItems(ListAdapter adpater、intch eckedItem、final OClistener listener)
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。
Alert Dialogは簡単なリストsetItemsを表示します。
import Android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ListDialogTest1extends Activityimplements OnClickListener
{
private Button btnListDialog;
private String[] provinces =new String[] { " ", " ", " ", " ", " " };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnListDialog = (Button) findViewById(R.id.btnListDialog);
btnListDialog.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btnListDialog:
showListDialog();
break;
}
}
private void showListDialog()
{
AlertDialog.Builder builder =new AlertDialog.Builder(this);
builder.setTitle(" ");
/**
* 1、public Builder setItems(int itemsId, final OnClickListener
* listener) itemsId ID, 。 2、public Builder
* setItems(CharSequence[] items, final OnClickListener listener)
* items
*/
builder.setItems(provinces, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,int which)
{
/*
* ad final , Runnable run() final 。
*/
final AlertDialog ad =new AlertDialog.Builder(
ListDialogTest1.this).setMessage(
" :" + which + ": " + provinces[which]).show();
Handler handler = new Handler();
Runnable runnable = new Runnable()
{
@Override
public void run()
{
// AlertDialog dismiss() , cancel() 。
ad.dismiss();
}
};
// 5 run() 。
handler.postDelayed(runnable, 5 * 1000);
}
});
builder.create().show();
}
}
AlertDialogは複雑なリストsetMulti ChoiceItemsを表示します。一、AlertDialog.BuiderクラスのsetMulti ChoiceItems()方法によりリストダイアログを作成することができます。方法は以下の通りです。
1、リソースファイルからデータを読み込みます。
public Buider set Multi Choic Items(int items、bootlean[]checedItems、final OnMulti Choic Listener listener)
2、データセットからデータをロードする
public Buider setMulti Choic Items(Curor cursor、Strigis CheckedColumn、String label Column、final OnMulti Choic Listenerlistener)
3、文字列配列からデータをロードする
public Buider set Multi Choic Items(CharSequence[]items、bootlean[]checedItems、final OnMulti Choic Listener listener)
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class DiaActivity extends Activity {
/** Called when the activity is first created. */
private Button btn;
private TextView tv;
private String[] shuxing = { " ", " " };
private boolean[] chuzhi = { false, false };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textView1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Builder b = new AlertDialog.Builder(DiaActivity.this);
b.setTitle("gggggg");
b.setMultiChoiceItems(shuxing, chuzhi,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
switch (which) {
case 0:
chuzhi[0] = isChecked;
break;
case 1:
chuzhi[1] = isChecked;
break;
default:
break;
}
}
});
b.setPositiveButton(" ",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
if (chuzhi[0] == true) {
tv.setTextColor(Color.BLUE);
}
if (chuzhi[1] == true) {
tv.setTextSize(50f);
}
}
});
b.create().show();
}
});
}
}
二、AlertDialog.Bulder類のsetSingleChoiceItems方法により、シングルボタン付きリストを作成することができます。方法は以下の通りです。1、リソースファイルからデータを読み込みます。
public Buider setSingleChoicItems(int items Id、intch eckedItem、final OClistener listener)
2、データセットからデータをロードする
public Buider setSingleChoicItems(Curor cursor、intch eckedItem、String label Column、final OnClikListenerlistener)
3、文字列配列からデータをロードする
public Buider setSingle ChoicceItems(CharSequence[]items、intch eckedItem、final OnClistener listener)
4、ListAdapterオブジェクトからデータをロードする
public Buider setSingle ChoicItems(ListAdapter adpater、intch eckedItem、final OClistener listener)
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class SingleChoiceItemsTest extends Activityimplements OnClickListener
{
private String[] province = new String[] { " ", " ", " ", " ", " " };
private Button btnSingleChoiceList;
//
private ButtonOnClick buttonOnClick = new ButtonOnClick(1);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnSingleChoiceList = (Button) findViewById(R.id.btnSingleChoice);
btnSingleChoiceList.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
showSingleChoiceButton();
}
//
//buttonOnClickg ButtonOnClick,
private void showSingleChoiceButton()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(" ");
builder.setSingleChoiceItems(province, 0, buttonOnClick);
builder.setPositiveButton(" ", buttonOnClick);
builder.setNegativeButton(" ", buttonOnClick);
builder.show();
}
private class ButtonOnClick implements DialogInterface.OnClickListener
{
private int index; //
public ButtonOnClick(int index)
{
this.index = index;
}
@Override
public void onClick(DialogInterface dialog,int which)
{
// which , 0, 0 。
if (which >= 0)
{
// , index 。
// , dialog.cancel()
// dialog.dismiss() 。
index = which;
}
else
{
// 【 】
if (which == DialogInterface.BUTTON_POSITIVE)
{
// 。
final AlertDialog ad = new AlertDialog.Builder(
SingleChoiceItemsTest.this).setMessage(
" :" + index + ":" + province[index]).show();
// 。
Handler hander = new Handler();
Runnable runnable = new Runnable()
{
@Override
public void run()
{
ad.dismiss();
}
};
hander.postDelayed(runnable, 5 * 1000);
}
// 【 】
else if (which == DialogInterface.BUTTON_NEGATIVE)
{
Toast.makeText(SingleChoiceItemsTest.this, " ",
Toast.LENGTH_LONG);
}
}
}
}
}
Android関連の内容についてもっと興味がある読者は、当駅のテーマを調べてもいいです。「Androidパターンと画像処理技術のまとめ」、「Android開発入門と上級教程」、「Androidデバッグ技術とよくある問題解決方法のまとめ」、「Androidマルチメディア操作技術まとめ(オーディオ、ビデオ、録音など)」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayout技巧まとめ」および「Androidコントロールの使い方のまとめ」ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。