您好我在尝试在布局中添加视图时收到StackOverflow错误。
代码:
parentOfAllInGMT.addView(layoutInflater.inflate(
R.layout.layout_dstbutton, parentOfAllInGMT, true));
这里parentOfAllInGMT是一个线性布局,我希望layout_dstbutton
成为索引1的孩子。
在添加layout_dstbutton
之前,我添加了
parentOfAllInGMT.addView(layoutInflater.inflate(
R.layout.gmt_option_list_dst_on, null, false));
正在正确添加。
以下是logcat输出:
08-06 07:23:44.843: E/AndroidRuntime(19513): java.lang.StackOverflowError
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.View.isLayoutDirectionInherited(View.java:11756)
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:5379)
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:5380)
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:5380)
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:5380)
08-06 07:23:44.843: E/AndroidRuntime(19513): at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:5380)
答案 0 :(得分:4)
问题的根本原因是我正在采取的设计/方法。
我使用的gmt_option_list_dst_on
有34个相对布局,在每个布局中我有5个视图。所以他们总结并总共创建了170个视图,这很可能是stackoverflow异常的原因。
所以我选择自定义列表视图而不是膨胀多个(170)视图。 Listview使我能够轻松处理事件,并且性能也得到了提升。