以下方法在android版本的jellybean 4.3中不起作用。
historyExpaLV.setIndicatorBounds(historyExpaLV.getRight() - 60,
historyExpaLV.getWidth() - 8);
有谁知道解决方案?提前谢谢。
答案 0 :(得分:31)
我如何解决这个问题:
将SDK Manager更新到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);
}
答案 1 :(得分: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
上什么都不做