![](/img/trans.png)
[英]SimpleExpandableListAdapter issue in android application
[英]Android: not able to trace down a ClassCastException with SimpleExpandableListAdapter
我在運行程序時遇到以下異常:
05-12 08:29:06.907: ERROR/AndroidRuntime(460): FATAL EXCEPTION: main
05-12 08:29:06.907: ERROR/AndroidRuntime(460): java.lang.ClassCastException: java.util.ArrayList
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.SimpleExpandableListAdapter.getGroupView(SimpleExpandableListAdapter.java:278)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:445)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.AbsListView.obtainView(AbsListView.java:1294)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.ListView.measureHeightOfChildren(ListView.java:1198)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.ListView.onMeasure(ListView.java:1109)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:578)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:362)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.View.measure(View.java:8171)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.os.Handler.dispatchMessage(Handler.java:99)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.os.Looper.loop(Looper.java:123)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at java.lang.reflect.Method.invokeNative(Native Method)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at java.lang.reflect.Method.invoke(Method.java:521)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-12 08:29:06.907: ERROR/AndroidRuntime(460): at dalvik.system.NativeStart.main(Native Method)
我自己的代碼無處顯示,我嘗試調試,但是在我的方法之間發生錯誤。 我真的不知道該怎么找原因!
實際上,我正在更改SimpleExpandableListAdapter背后的數據,但是我在這里尋找哪種錯誤?
請,請幫助。 :)
親切的問候,水母
通過注釋掉數據更改部分並將其與數據的原始實例進行比較,我發現了我的錯誤。 這很簡單。
//that's how I canged my group data
List newGroups = new ArrayList();
for(int i = 0; i < groups.size(); ++i)
{
String savedGroupName = (String) ((HashMap) groups.get(i)).get(groupName);
HashMap groupContent = new HashMap();
groupContent.put(groupName, savedGroupName);
groupContent.put(groupRate, getString(R.string.newstring));
newGroups.add(groupContent);
}
//but instead of using
groups = newGroups;
//I had this:
groups.set(somePosition, newGroups);
是子數據更改中的復制和粘貼錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.