以下方法在android版本的jellybean 4.3中不起作用。
historyExpaLV.setIndicatorBounds(historyExpaLV.getRight() - 60,
historyExpaLV.getWidth() - 8);
有人知道解决办法吗?提前谢谢。
我是如何解决这个问题的:
将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);
}
我认为这是的错误
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 上不执行任何操作