我想夏洛克操作栏默认夏洛克搜索小部件。搜索图标显示在夏洛克操作栏上,但点击它的强制关闭。我的日志如下所示
04-17 11:44:48.877: E/AndroidRuntime(530): FATAL EXCEPTION: main04-17 11:44:48.877: E/AndroidRuntime(530): java.lang.NullPointerException04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.MenuItemImpl.toString(MenuItemImpl.java:490)04-17 11:44:48.877: E/AndroidRuntime(530): at java.lang.StringBuilder.append(StringBuilder.java:202)04-17 11:44:48.877: E/AndroidRuntime(530): at com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:201)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:950)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:490)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:108)04-17 11:44:48.877: E/AndroidRuntime(530): at android.view.View.performClick(View.java:3511)04-17 11:44:48.877: E/AndroidRuntime(530): at android.view.View$PerformClick.run(View.java:14105)04-17 11:44:48.877: E/AndroidRuntime(530): at android.os.Handler.handleCallback(Handler.java:605)04-17 11:44:48.877: E/AndroidRuntime(530): at android.os.Handler.dispatchMessage(Handler.java:92)04-17 11:44:48.877: E/AndroidRuntime(530): at android.os.Looper.loop(Looper.java:137)04-17 11:44:48.877: E/AndroidRuntime(530): at android.app.ActivityThread.main(ActivityThread.java:4424)04-17 11:44:48.877: E/AndroidRuntime(530): at java.lang.reflect.Method。invokeNative(本地方法)04-17 11:44:48.877: E/AndroidRuntime(530): at java.lang.reflect.Method.invoke(Method.java:511)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)[04-17] 11:44:48.877: E/AndroidRuntime(530): at dalvik.system. native . art。主要(本地方法)
menu。xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_search"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always|collapseActionView"
/>
</menu>
sherlock活动中的代码
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.tvguide_menu, menu);
}
public boolean onOptionsItemSelected(MenuItem item)
{
Log.e("", "itemselected" +item.getItemId());
switch(item.getItemId())
{
case R.id.menu_search:
Toast.makeText(TVBuddyMainActivity.this,"search selected", Toast.LENGTH_LONG).show();
Intent intent = new Intent(TVBuddyMainActivity.this,CustomSearch.class);
startActivity(intent);
break;
}
return true;
}
请帮助我这个日志....
这是ActionBarSherlock 4.3.0版本的一个bug,我用下面的方法修复了它:
--- a/actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java
+++ b/actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java
@@ -198,7 +198,7 @@ public class SherlockFragmentActivity extends Watson implements OnActionModeStar
@Override
public final boolean onMenuItemSelected(int featureId, android.view.MenuItem item) {
- if (BuildConfig.DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item);
+ // if (BuildConfig.DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item);
if (featureId == Window.FEATURE_OPTIONS_PANEL && !mIgnoreNativeSelected) {
mIgnoreNativeSelected = true;