See my other question for the setup.
我用Eclipse(master-detail-Flow)生成了一个简单的活动.我的项目目前只有一个Activity和一个Fragment.到目前为止,我所做的就是用他们的ABS同行取代超级班:
public class CouponListActivity extends SherlockFragmentActivity implements CouponListFragment.Callbacks {...}
和
public class CouponListFragment extends SherlockListFragment {...}
这是我正在使用的唯一布局元素
<fragment xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:name="....activity.CouponListFragment" androID:ID="@+ID/coupon_List" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_marginleft="16dp" androID:layout_marginRight="16dp" tools:context=".CouponListActivity" />
这在API 16上的模拟器上运行良好,但在使用API 8的另一个模拟器上失败.
问题是我无法以任何有用的方式解释堆栈跟踪.我的代码似乎根本没有被触及……
java.lang.NullPointerException at androID.Widget.ArrayAdapter.createVIEwFromresource(ArrayAdapter.java:355) at androID.Widget.ArrayAdapter.getVIEw(ArrayAdapter.java:323) at androID.Widget.AbsListVIEw.obtainVIEw(AbsListVIEw.java:1315) at androID.Widget.ListVIEw.makeAndAddVIEw(ListVIEw.java:1727) at androID.Widget.ListVIEw.fillDown(ListVIEw.java:652) at androID.Widget.ListVIEw.fillFromtop(ListVIEw.java:709) at androID.Widget.ListVIEw.layoutChildren(ListVIEw.java:1580) at androID.Widget.AbsListVIEw.onLayout(AbsListVIEw.java:1147) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.linearLayout.setChildFrame(linearLayout.java:1249) at androID.Widget.linearLayout.layoutVertical(linearLayout.java:1125) at androID.Widget.linearLayout.onLayout(linearLayout.java:1042) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.Widget.FrameLayout.onLayout(FrameLayout.java:333) at androID.vIEw.VIEw.layout(VIEw.java:7035) at androID.vIEw.VIEwRoot.performTraversals(VIEwRoot.java:1045) at androID.vIEw.VIEwRoot.handleMessage(VIEwRoot.java:1727) at androID.os.Handler.dispatchMessage(Handler.java:99) at androID.os.Looper.loop(Looper.java:123) at androID.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:626)
我在哪里可以开始寻找问题?如果我能提供更多信息,请告诉我.
更新:如果我排除ABS并且只是尝试创建在API 8. Here is the project中运行的List-Activity / -Fragment组合,则我具有完全相同的堆栈跟踪.
解决方法 查看源代码后,您正在使用simple_List_item_activated_1资源.这是AndroID API等级11的新功能所以解决您的问题的方法是.onCreate方法应该是这样的
@OverrIDe public voID onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setlistadapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),androID.R.layout.simple_List_item_activated_1,androID.R.ID.text1,DummyContent.ITEMS)); }
由于这是API级别11的新功能,因此无论是否有ActionbarSherlock,您都会遇到相同的错误.如果要使用simple_List_item_activated_1,则需要创建它的本地副本.对不起,来晚了
总结以上是内存溢出为你收集整理的Android兼容性问题(Api 8,ActionbarSherlock)全部内容,希望文章能够帮你解决Android兼容性问题(Api 8,ActionbarSherlock)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)