Android兼容性问题(Api 8,ActionbarSherlock)
我正在尝试为我的项目建立一个基本结构,该项目应该运行在API级别8-16,使用google定位服务和ActionBarSherlock 我用Eclipse生成了一个简单的活动(主细节流)。我的项目目前只有一个活动和一个片段。到目前为止,我所做的只是用ABS对应物替换超级类:Android兼容性问题(Api 8,ActionbarSherlock),android,actionbarsherlock,Android,Actionbarsherlock,我正在尝试为我的项目建立一个基本结构,该项目应该运行在API级别8-16,使用google定位服务和ActionBarSherlock 我用Eclipse生成了一个简单的活动(主细节流)。我的项目目前只有一个活动和一个片段。到目前为止,我所做的只是用ABS对应物替换超级类: public class CouponListActivity extends SherlockFragmentActivity implements CouponListFragment.Callbacks { ...
public class CouponListActivity extends SherlockFragmentActivity implements CouponListFragment.Callbacks {
...
}
及
这是我使用的唯一布局元素
<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" />
从哪里开始查找问题?如果我能提供更多信息,请告诉我
更新:如果我排除ABS,只需尝试创建一个在API 8中运行的列表活动/片段组合,我就拥有完全相同的stacktrace 查看源代码后,您正在使用
simple\u list\u item\u activated\u 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));
}
@覆盖
创建时的公共void(最终捆绑包savedInstanceState){
super.onCreate(savedInstanceState);
setListAdapter(新的ArrayAdapter(getActivity(),android.R.layout.simple_list_item_activated_1,android.R.id.text1,DummyContent.ITEMS));
}
因为这是API级别11的新特性,所以无论是否使用ActionBarSherlock,都会出现相同的错误。如果要使用
simple\u list\u item\u activated\u 1
,则需要创建它的本地副本。抱歉迟到了你也可以发布清单文件吗?查看链接的帖子-它有minSDK 8和TargetSDK16是的,我做了(相应地更新了其他线程)。我无法重现你的问题,我相信stacktrace不完整。尝试添加完整的stacktrace。首先:感谢您尝试帮助我:)这是logcat制作的完整stacktrace,不幸的是,没有遗漏任何内容。非常感谢,伙计。我正要发现同样的问题,但作为一个Android新手,我发现从stacktrace到错误的发现是难以置信的困难…@jangroth谢谢你给我一杯啤酒,但不幸的是我不喝酒。Em很高兴我能帮你分析代码花了我一段时间。再次感谢你的提议:)好的,删除带有我邮箱地址的评论。遗憾的是,想知道如何将啤酒/可乐送到印度会很有趣:)@jangroth你是java ee专家,所以你能给我推荐几本学习jsp和jsf的好书吗?这是一个简单的问题。对于JSF,请尝试“Ed Burns的JSF规范”。对于JSP,您可能会很好地使用Sun/Oracle上的公共可用资源
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)
@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));
}