ダイアログを表示する
前回はこちら
前回は表示する画面だけ作ったので、今回は画面をタップしたときの処理を記述していきます。
まず、画面左のリストからcom.websarva.wings.android.listviewsample2を右クリックしてメニューを呼びだし、新規→Javaクラスを選択します。
名前とスーパークラスを入力して「OK」。
作成したOrderConfirmDialogFragmentに処理を記述します。
public class Or}derConfirmDialogFragment extends DialogFragment{
@override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new AlerDialog.Builder(getActivity());
builder.setTitle(R.string.dialog.title);
builder.setMessage(R,string.dialog_msg);
builder.setPositiveButton(R.string.dialog_btn_ok, new DialogButtonClickLisener());
builder.setNegativeButton(R.string.dialog_btn_ng, new DialogButtonClickLisener());
builder.setNeutralButton(R.string.dialog_btn_ng, new DialogButtonClickLisener());
AlertDialog dialog = builder.create();
return dialog;
}
}
この段階ではOrderConfirmDialogFragmentクラスは存在しないので、OrderConfirmDialogFragment内にメンバクラスとして記述します。
private class DialogButtonClickListener implements DialogInterface.OnClickListener{
@Override
public void onClikc(DialogInterface.dialog, int which){
String msg ="";
switch(which){
case DialogInterface.BUTTON_POSITIVE:
msg = getString(R.string.dialog_ok_toast);
break;
case DialogInterface.BUTTON_NEGATIVE:
msg = getString(R.string.dialog_ng_toast);
break;
case DialogInterface.BUTTON_NEUTRAL:
break;
Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show();
}
}
}
さらにリストビューにリスナを登録するために、ListViewSample2Activity.javaへ追記します。
lvMenu.setOnItemClickListener(new ListItemClickListerner ());
}
private class ListItemClickListerner implements AdapterView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id){
OrderConfirmDialogFragment dialogFragment = new OrderConfirmDialogFragment()+
dialogFragment.show(getSupportFragmentManager(), "oederConfirmDialogFragment");
}
}
}
当然のようにエラーはでるので探してはひとつずつ修正していたのですが、時間切れです。このまま
つづく!
ここから先は
0字
¥ 100
この記事が気に入ったらサポートをしてみませんか?