ボタンすべてをsetEnabledにしたい

1,583 views
Skip to first unread message

shinriyo

unread,
Jul 5, 2011, 6:10:38 AM7/5/11
to android-g...@googlegroups.com
こんばんは

ブラウザなどのポップアップ風なものをViewで作っていますが、
ポップアップされたView以外のボタンを無効にしたいと思っています。

Button btn = (Button)findViewById(R.id.button1);
btn.setEnabled(false);
btn = (Button)findViewById(R.id.button2);
btn.setEnabled(false);
btn = (Button)findViewById(R.id.button3);
btn.setEnabled(false);
と、ボタンすべてにかけてsetEnabledをするのはスマートではないと思います。

しかし、これらのボタンをXML上であるViewへ張り付いてるのですが、
btnView.setEnabled(false);を行っても、このViewに張り付いてるボタンが無効化はしませんでした。
今、アクティブになっていないボタンすべてを一括で無効にする方法はありますか?

yanagi

unread,
Jul 5, 2011, 6:54:21 AM7/5/11
to android-g...@googlegroups.com
高柳と申します。

ひとつのViewGroupの中に、
無効にしたい全てのボタンが配置されている前提ではありますが、
for文で回すというのはいかがでしょうか?

for (int i = 0; i < parentView.getChildCount(); i++) {
  View childView = parentView.getChildAt(i);
  if (childView instanceof Button) {
    childView.setEnabled(false);
  }
}

--
高柳 翔
mail: sobac...@gmail.com
Twitter: sobachanko

2011年7月5日19:10 shinriyo <shin...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/JnWY20LMDJsJ にアクセスしてください。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。



shinriyo

unread,
Jul 5, 2011, 9:41:43 PM7/5/11
to android-g...@googlegroups.com
高柳さん

ありがとうございます。
DOMみたいなことができるんですね。
おかげ様で出来ました。
Reply all
Reply to author
Forward
0 new messages