您好,登錄后才能下訂單哦!
對(duì)于幾個(gè)相應(yīng)控件習(xí)慣用二分法定位index,這樣最省事了
private static final int btnIds[] = {R.id.btn0 ,R.id.btn1 ,R.id.btn2 ,R.id.btn3 ,R.id.btn4}; int index = Arrays.binarySearch(btnIds, v.getId());
之前一直沒(méi)問(wèn)題,直到今天調(diào)了下布局控件的上下順序,btn3和btn4移到上方,然后再測(cè)試就一直返回 -1 了.很郁悶.看R文件發(fā)現(xiàn)
public static final int btn0=0x7f060071; public static final int btn1=0x7f060072; public static final int btn2=0x7f060073; public static final int btn3=0x7f06006f; public static final int btn4=0x7f060070;
btnIds不是按大小排序了.看到API里有一句
使用二分搜索法來(lái)搜索指定的 int 型數(shù)組,以獲得指定的值。必須在進(jìn)行此調(diào)用之前對(duì)數(shù)組進(jìn)行排序(通過(guò) sort(int[]) 方法)。如果沒(méi)有對(duì)數(shù)組進(jìn)行排序,則結(jié)果是不確定的。如果數(shù)組包含多個(gè)帶有指定值的元素,則無(wú)法保證找到的是哪一個(gè)。
試了下
Arrays.sort(btnIds);
點(diǎn)擊 btn3返回0,按大小給排序了.
好吧,只能改一下別的方法了...
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。