忍者ブログ

とある社内SEの備忘録 !!

主にRPA、Androidアプリ開発について投稿しています。メモ書きです。

Android:DialogFragmentを使ってみた

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Android:DialogFragmentを使ってみた

タイトル、メッセージ、タイプ(OK OnlyやOK CANCELなど)をBundleに入れてFragmentに渡す。

activity.java

CustomDialogFragment cdf = new CustomDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("TITLE",title);
bundle.putString("MESSAGE",message);
bundle.putSerializable("TYPE",type);
cdf.setArguments(bundle);
cdf.show(activity.getSupportFragmentManager(),null);
CustomDialogFragment.java
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
//タイトル
String title = getArguments().getString("TITLE");
//メッセージ
String message = getArguments().getString("MESSAGE");
DialogUtil.dialogtype type = (DialogUtil.dialogtype)getArguments().get("TYPE");

if(title.equals("") || message.equals("") || type == null){
dismiss();
}

int layoutID;
switch (type){
case OK_ONLY:
layoutID = R.layout.dialog_ok_only;
break;
case OK_CANCEL:
layoutID = R.layout.dialog_ok_cancel;
break;
case YES_NO:
layoutID = R.layout.dialog_ok_only;
break;
default:
layoutID = R.layout.dialog_ok_only;
break;
}
View view = getActivity().getLayoutInflater().inflate(layoutID,null);
TextView tvTitle = view.findViewById(R.id.tvTitle);
tvTitle.setText(title);
TextView tvMessage = view.findViewById(R.id.tvMessage);
tvMessage.setText(message);

//ポジティブボタン
TextView tvPositive = view.findViewById(R.id.btnPositive);
tvPositive.setOnClickListener(OnClickPositive);
//ネガティブボタン
TextView tvNegative = view.findViewById(R.id.btnNegative);
tvNegative.setOnClickListener(OnClickNegative);
タイプによってレイアウトを使い分け。DialogUtil.dialogtypeはenum。
以上。

PR

コメント

プロフィール

HN:
Satoshin
性別:
男性
職業:
開拓エンジニア
趣味:
ダーツ、麻雀、カラオケ、ジョギング
自己紹介:
横浜在住の30代♂

某企業の情報システム部門に所属。
⇒転職活動中

業務効率化を推進しつつ自社用Androidアプリを開発している。
言語:Java、VB.NET、VBA、ASP.NET、C#
興味:Kotlin、Python、AWS、UiPath

横浜圏の友人皆無・・(´;ω;`)
RPA、ダーツ、麻雀、飲み仲間募集中w

麻雀格闘倶楽部はココに出没中

AbemaTVでM.LEAGUE鑑賞中!!

P R