ダイアログを出してボタンで選択をする。

ダイアログを作成して、ボタンを押せるようにしてみたいと思います。

ボタンに関しては、最大3個までで、役割はOK、NG、CANCELの3つが配置可能です。

dialog2

 

上記を表示させる為には下記のように記述をする

package in.andante.android.makealert;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;

public class MakeAlert extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 }
 
 public void onResume(){
 super.onResume();
 new AlertDialog.Builder(this)
.setTitle("タイトル")
.setCancelable(false)
.setMessage("3つまで")
.setNeutralButton("CANCEL",null)
.setPositiveButton("OK",null)
.setNegativeButton("NG",null).show();
 }
}

 

ひとつ前のエントリ(アラートダイアログを出現させる。)とほぼソースは変わらないで、setPositiveButton,setnegativeButtonがたされただけでボタンが3つ表示可能である。

 

上記の状態では全てのボタンで動作を行わないので、ボタンのイベントをスクリプトで追加を行う。

また、イベントをActivityで行う為にimplementsではDialogInterface.OnClickListenerを追加する。イベント実行のファンクションは下記のような形になる。

 

package in.andante.android.makealert;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.TextView;

public class MakeAlert extends Activity implements DialogInterface.OnClickListener{
 /** Called when the activity is first created. */
 public AlertDialog _alertDialog;
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 }
 
 public void onResume(){
 super.onResume();
 _alertDialog = new AlertDialog.Builder(this).setTitle("タイトル").setCancelable(false).setMessage("3つまで").setNeutralButton("CANCEL",null).setPositiveButton("OK",this).setNegativeButton("NG",this).show();
 }

 @Override
 public void onClick(DialogInterface dialog, int which) {
 // TODO Auto-generated method stub
 if(_alertDialog == dialog){
 TextView _tv = new TextView(this);
 switch(which){
 case DialogInterface.BUTTON_POSITIVE:
 _tv.setText("clcikOK");
 break;
 case DialogInterface.BUTTON_NEGATIVE:
 _tv.setText("clcikNG");
 break;
 }
 setContentView(_tv);
 }
 }
 
}

 

上記のようにonClickでどのダイアログかと、どのボタンが押されたかを判別する事ができる。ボタンクリックでステージにTextViewを配置してどのボタンがクリックされたかを示す。

 

 

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑