スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

メソッドチェーン

AlertDialog.Builderを使ってAlertDialogのコンテンツを追加していく際、以下のように記述が何度も重複します。

AlertDialog.Builder adb=new AlertDialog.Builder(this);
adb.setTitle("Title Test");
adb.setMessage(input+"と入力されました。");
adb.setPositiveButton("OK", null);
adb.setCancelable(false);
adb.show();

(AlertDialogを表示 の記事より)

adb. の部分が何度も重複していて無駄な気がします。

こんなときは、メソッドチェーンを使うとすっきり記述できます。

あるクラスのメソッドが、戻り値としてそのクラスのインスタンスを返す場合、記述にメソッドチェーンを利用することができます。

上のAlertDialogの設定をする各メソッドはどれもAlertDialog.Builder型を返すため、メソッドチェーンで記述を省略できます。

AlertDialog.Builder adb=new AlertDialog.Builder(this);
adb.setTitle("Title Test")
   .setMessage(input+"と入力されました。")
   .setPositiveButton("OK", null)
   .setCancelable(false)
   .show();



インスタンスadbの生成は省略なしです。

各メソッドを適用する際、adbは最初だけ書けばよいです。セミコロン ; は最後尾のメソッドの後だけに記述します。

要するに、各メソッドはいつもなら独立しているのが、メソッドチェーンでは一体となっているのです。


さらに、インスタンス生成から短縮することも可能です。

new AlertDialog.Builder(this)
   .setTitle("Title Test")
   .setMessage(input+"と入力されました。")
   .setPositiveButton("OK", null)
   .setCancelable(false)
   .show();

これなら、インスタンスに名前をつけることも不要になります。

関連記事
スポンサーサイト

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://androidhacker.blog94.fc2.com/tb.php/49-d236e6e1
  • 閉じるボタン
レファレンス
月別アーカイブ
リンク
カテゴリ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。