Android 在操作栏上的searchview中获取NullPointerException

Android 在操作栏上的searchview中获取NullPointerException,android,android-actionbar,android-search,Android,Android Actionbar,Android Search,我正在开发一个应用程序,其中我正在操作栏上设置SearchView小部件。但我总是得到空指针异常。我不知道为什么会这样。我关注了很多这样的帖子,但没有一个能帮上忙 如果我犯了一些错误,请指导我。。。这些片段是 SearchActivity.java xml/searchable.xml AndroidManifest.xml 这些都是我用来搜索的代码。但我无法解决onCreateOptions菜单中这一行出现的空指针异常 searchView.setSearchableInfosearchMan

我正在开发一个应用程序,其中我正在操作栏上设置SearchView小部件。但我总是得到空指针异常。我不知道为什么会这样。我关注了很多这样的帖子,但没有一个能帮上忙

如果我犯了一些错误,请指导我。。。这些片段是

SearchActivity.java

xml/searchable.xml

AndroidManifest.xml

这些都是我用来搜索的代码。但我无法解决onCreateOptions菜单中这一行出现的空指针异常


searchView.setSearchableInfosearchManager.getSearchableInfogetComponentName

你能输入getComponentName的代码吗?getComponentName是android中的内置函数。你能输入完整的异常代码吗。。?
public class SearchActivity extends ActionBarActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_Search);
        getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);
        handleIntent(getIntent());
    }

   private void handleIntent(Intent intent) {
        if(Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            doSearch(query);
        }else if(Intent.ACTION_VIEW.equals(intent.getAction())){
            getPlace(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
        }
    }

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search);

        // Get the SearchView and set the searchable configuration
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); // At this line i am getting the Null Pointer exception
        searchView.setIconifiedByDefault(false);  
        return super.onCreateOptionsMenu(menu);
    }    
}
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/app_name"
    android:hint="Settings"
    android:searchSettingsDescription="Settings" 
    android:searchSuggestAuthority="com.stata.mobile.android.dao.PlaceProvider"
    android:searchSuggestIntentAction="android.intent.action.VIEW"    
    android:searchSuggestSelection=" ?"
    android:searchSuggestThreshold="2" >
</searchable>
        <activity
            android:name=".ui.SearchActivity"
            android:label=""
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <!-- Points to searchable activity -->
            <meta-data android:name="android.app.default_searchable"
                android:value=".ui.SearchActivity" />
            <!-- Points to searchable meta data -->
            <meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable"/>
        </activity>