以下方法在 android 版本 jellybean 4.3 中不起作用。
historyExpaLV.setIndicatorBounds(historyExpaLV.getRight() - 60,
historyExpaLV.getWidth() - 8);
有谁知道解决方案?提前致谢。
以下方法在 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 上什么也不做