2013-08-01 40 views
9

以下方法在Android版本jellybean 4.3中不起作用。展開列表視圖在jellyBean 4.3版本中將組圖標指示器移動到右側?

historyExpaLV.setIndicatorBounds(historyExpaLV.getRight() - 60, 
        historyExpaLV.getWidth() - 8);  

有沒有人知道解決方案?提前致謝。

+2

「不工作」是不是你的症狀非常有用的解釋。 – CommonsWare

+0

它在以前的版本中有效嗎?在測量之前你是否要調用它?請詳細說明。 – Geobits

+0

是的,它是在以前的版本Geobits。 –

回答

31

如何定這個沒什麼:

更新SDK管理器Android 4.3版本和使用它作爲構建目標。他們在API 18中引入了一種新方法,稱爲setIndicatorBoundsRelative(int,int),它在android 4.3中作爲其他(但正確)工作。

作出Android版本的支票並使用舊的方法與舊的API:

if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { 
    mListView.setIndicatorBounds(myLeft, myRight); 
} else { 
    mListView.setIndicatorBoundsRelative(myLeft, myRight); 
} 
+2

,但爲什麼會發生此更改? –

+0

謝謝,這解釋了我的nosuchmethoderror! – AlleyOOP

+2

什麼是myLeft,myRight?請詳細說明 –

5

我認爲這是錯誤

int right = (int) (getResources().getDisplayMetrics().widthPixels - TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getResources().getDisplayMetrics())); 
    expandableListView.setIndicatorBounds(right - getResources().getDrawable(R.drawable.group_indicator_padding).getIntrinsicWidth(), right); 

此代碼工作正常高達4.2.2和做4.3

+0

感謝您的好評答案...靜態地解決了我的羣組指標圖像大小... – Satheesh

+0

以上答案將適用於您。由於setIndicatorBoundsRelative適用於Android> = 4.3 – AnkitRox

相關問題