比率変更

ダイアログを表示する

前回はこちら

 前回は表示する画面だけ作ったので、今回は画面をタップしたときの処理を記述していきます。


 まず、画面左のリストから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

この記事が気に入ったらサポートをしてみませんか?