- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
ActionBarSherlock (ABS) 是从最新源构建的。使用 ABS ShareActionProvider 时抛出异常。我可以逐步调试 onCreateOptionsMenu() 就好了。如果我取出 @+id/menu_item_share 的 xml,apk 运行正常。
在 Debug模式下,我可以逐步完成的最深入操作是 SherlockFragmentActivity 中的 onCreatePanelMenu()。
主菜单.xml:
<item android:id="@+id/menu_item_share"
android:icon="@+id/ic_action_share"
android:showAsAction="ifRoom"
android:title="@string/menu_share"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
/>
相关代码:
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.widget.ShareActionProvider;
public class MyActivity extends SherlockFragmentActivity {
. . .
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
if(this.verse.verse != null)
mShareActionProvider.setShareIntent(getDefaultShareIntent());
return true;
}
public Intent getDefaultShareIntent(){
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "text to share");
sendIntent.setType("text/plain");
return sendIntent;
}
. . .
}
异常(exception):
01-23 19:53:38.048: WARN/dalvikvm(14643): threadid=1: thread exiting with uncaught exception (group=0x411d4930) 01-23 19:53:38.048: ERROR/AndroidRuntime(14643): FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0x7f030008
at android.content.res.Resources.getValue(Resources.java:1014)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2166)
at android.content.res.Resources.getLayout(Resources.java:853)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.actionbarsherlock.widget.ActivityChooserView.<init>(ActivityChooserView.java:229)
at com.actionbarsherlock.widget.ActivityChooserView.<init>(ActivityChooserView.java:202)
at com.actionbarsherlock.widget.ActivityChooserView.<init>(ActivityChooserView.java:192)
at com.actionbarsherlock.widget.ShareActionProvider.onCreateActionView(ShareActionProvider.java:164)
at com.actionbarsherlock.internal.view.ActionProviderWrapper.onCreateActionView(ActionProviderWrapper.java:23)
at android.view.ActionProvider.onCreateActionView(ActionProvider.java:98)
at com.android.internal.view.menu.MenuItemImpl.getActionView(MenuItemImpl.java:580)
at com.android.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:157)
at com.android.internal.view.menu.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:455)
at com.android.internal.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1048)
at com.android.internal.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:87)
at com.android.internal.view.menu.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:190)
at com.android.internal.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:244)
at com.android.internal.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:946)
at com.android.internal.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:969)
at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:450)
at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:769)
at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:201)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:531)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5191)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
at dalvik.system.NativeStart.main(Native Method)
最佳答案
android:icon="@+id/ic_action_share"
这是错误的。您没有分配可绘制对象,只是将 Id 添加到 R.java 类中。你需要在这里引用一个图标,像这样:
android:icon="@drawable/ic_action_share"
关于android - ActionBarSherlock ShareActionProvider 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492757/
我通过创建两个不同的项目、库项目和我自己的 android 项目实现了 ActionBarSherlock。现在我正在考虑将库项目放在我的应用程序库目录中并将该项目附加到我的应用程序。这在逻辑上可能吗
与许多其他 Android 开发人员一样,我安装了 Android Studio,但是如何将 actionbarsherlock 安装到 Android Studio 中? 有什么帮助吗?我什至不知道
您好,我在导入后遇到了 ActionBarSherlock 的问题。 我做了以下步骤: 我从库文件夹中导入了东西 我检查了项目是否设置为 IsLibrary 我选择了项目构建目标:Android 4.
我正在迁移我的代码以使用 Actionbarsherlock。我已经完成了我需要的所有代码调整,并且我的项目编译正常没有错误,但是我得到以下异常: java.lang.NoClassDefFoundE
我在 Eclipse 中有一个现有项目 MyProject,它使用库 actionbarsherlock(4.3.1 版)。该项目在 android studio 中编译并运行,但我没有得到构建变体。
我想要 Sherlock 操作栏左侧的微调器,但由于标准行为,它出现在右侧。[见附件图片 如何解决? 最佳答案 好的,我已经通过使用导航列表而不是在 menu.xml 中手动添加微调器来完成此操作:
我正在尝试使用 Eclipse Indigo 和 ADT r20 构建一个带有 ActionBarSherlock 4.1 的小型示例应用程序。 我创建了一个包含空白 Activity 的新 Andr
我已经坚持了好几天/几周了。我正在尝试为 actionbarsherlock 添加 aar,但我一直收到此错误: Failed to notify project evaluation listene
我通过 eclipse 创建了一个新的 Android 项目,其中包含 MainActivity。我将 ActionBarSherlock 添加到项目中(“属性”>“Android”,然后单击“添加”
尝试从 ActionBarSherlock 开始。下载库。使用上次更新设置 ADT,SDK 相同。 尝试进行简单的 Activity : import com.actionbarsherlock.ap
我一直在尝试将 ActionbarSherlock maven 依赖项添加到我的项目中 com.actionbarsherlock library 4.2.0 在我的 po
我想使用支持库 r11(尤其是嵌套片段)的实际版本中的新功能。 ABS 4.2.0 可以实现吗? 谢谢, 米尔科 最佳答案 最新的支持库 r11 似乎在 ABS 4.2 上运行良好。我用 r11 版本
我有一个Android Studio项目,该项目依赖于build.gradle中设置的ActionBarSherlock: dependencies { compile 'com.action
我使用带有 3 个选项卡的 SherlockFragmentActivity。每个选项卡都包含一个 SherlockFragment。 如果我使用以下代码重新启动我的应用程序(以应用主题):(感谢 D
我正在使用 ActionBarSherlock、Scala、Sbt 和 android-plugin。一切都工作正常,但突然无法编译。我使用 git 回退到以前有效的提交,但它仍然会抛出以下 12 个
我试图弄清楚为什么我的 APK 在导出时有 21 MB 大。我正在使用 HoloEverywhere 和 ActionBarSherlock,因此我正在做一个实验,看看如果没有它们,我的 APK 会有
我有一个扩展 SherlockFragment 的类,它有一个 actionbarItem“过滤器” TabbedFragment.java public class TabbedFragment e
首先,我想说我已经修改了方法needsDividerBefore,现在菜单项之间出现了分隔线。但是,我想自定义这个分隔线,我尝试了前面提到的所有方法,但我没有成功。 其次,我想要的分隔线与使用的 fo
我有很多菜单项 - 有些是用 Java 代码定义的,有些是用 XML 定义的。 XML 中的那些都将 orderInCategory 设置为较高的值。 在代码中定义的项目中,有些有图标,有些没有。只有
我有一个使用 Viewpagerindicator 的应用程序。我正在使用它的标签部分。我使用黑色背景和默认的蓝色指示器颜色。我想在我的应用程序中添加一个操作栏,所以我开始使用 Actionbarsh
我是一名优秀的程序员,十分优秀!