作者givemepass (〆)
看板AndroidDev
标题[问题] 加入事件的问题
时间Thu Sep 22 22:59:32 2011
目前我有100个button, 然後全部要加入某一个事件,
除了一个一个加以外, 请问还有什麽更好的做法?
例如:
我有一个EditText editText = (EditText)findViewById(R.id.myedittext);
private OnClickListener myOnClickListener = new OnClickListener()
{
public void onClick(View view) {
//处理editText的状态
}
}
然後这一百个button都已经宣告好了
现在要加入这个事件
button1.setOnClickListener(myOnClickListener);
button2.setOnClickListener(myOnClickListener);
...
button100.setOnClickListener(myOnClickListener);
但是, 现在我不想要一个一个加入这样的事件
请问有没有什麽方法可以一口气把这个事件加进所有的button?
----------------------------------------------------------
补充 我想我尽可能把自己的情况说清楚好了
目前有一个EditText的物件, 由於前面的人已经留下一堆button
(所以我假设100个表示数量庞大),
而且都已经定义好了, 那我不可能一个一个去改这些button的名称,
更不可能在xml里面定义事件(这样似乎会比写在java code更麻烦不是吗?)
所以我假设这些button都有自己的名称, 而我想要将所有的button
(包含未来新增的button)
都能够拥有这样的一个事件, 所以除了一个一个加以外,
不知道有没有更好的做法?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.170.182
1F:推 tomap41017:看一下Button xml内的onClick 09/22 23:28
2F:推 nvidia:最简单就是宣告成array然後foreach 09/23 00:48
3F:推 hijamoya:button宣告成array 09/23 01:10
※ 编辑: givemepass 来自: 61.221.115.4 (09/23 07:59)
4F:→ bleed1979:如果已经定死。回圈写到档案,Ctrl+a复制贴上。 09/23 08:41
5F:→ givemepass:不懂楼上的意思:) 可以麻烦举例子吗 谢谢 09/23 09:08
6F:→ ericinttu:bleed的意思是自己写出程式码产生器 09/23 09:36
7F:→ givemepass:还是不懂 可否举例? 09/23 09:47
8F:推 milochen:tomap41017的方法就可以了 09/23 10:41
9F:→ givemepass:不懂版主的意思 这样我还是得在XML定义100个onClick 09/23 11:18
10F:推 milochen:如果你这些Button 都是在某个Layout下(如LinearLayout) 09/23 16:54
11F:推 milochen:那你可以在这LinearLayout 中透过 getChildAt取得Btn.. 09/23 16:55
12F:推 milochen:不晓得,你实际的Button 是怎麽分布的,为什麽需要酱 ? 09/23 16:57
13F:推 milochen:你不是都共用同一个 myOnClickListener 了吗 ? 09/23 17:00
14F:推 milochen:顶多用回圈把 button0 到 100 run 一下就好了 ... 09/23 17:01
15F:推 milochen:但还是得把这些button收集到一个array 之中 09/23 17:02
16F:→ givemepass:感谢 这的确是一个好办法 我去试看看 09/23 20:39
17F:推 badhabit:产生新物件继承Button,改写click事件 这样会比较好吗? 09/24 23:39
18F:推 milochen:But OnClickListener.onClick 是在performancClick()才 09/25 21:18
19F:推 milochen:呼叫起来的 09/25 21:19