Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Errors:
  2. 07-26 17:33:07.043 13384-13384/myapp.searchviewbase E/AndroidRuntime: FATAL EXCEPTION: main
  3. Process: myapp.searchviewbase, PID: 13384
  4. java.lang.NullPointerException: Attempt to invoke interface method 'android.view.View android.view.MenuItem.getActionView()' on a null object reference
  5. at android.support.v4.view.MenuItemCompatHoneycomb.getActionView(MenuItemCompatHoneycomb.java:39)
  6. at android.support.v4.view.MenuItemCompat$HoneycombMenuVersionImpl.getActionView(MenuItemCompat.java:176)
  7. at android.support.v4.view.MenuItemCompat.getActionView(MenuItemCompat.java:325)
  8. at myapp.searchviewbase.MainActivity.onCreateOptionsMenu(MainActivity.java:32)
  9. at android.app.Activity.onCreatePanelMenu(Activity.java:2846)
  10. at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:358)
  11. at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
  12. at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:270)
  13. at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
  14. at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
  15. at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
  16. at android.os.Handler.handleCallback(Handler.java:739)
  17. at android.os.Handler.dispatchMessage(Handler.java:95)
  18. at android.os.Looper.loop(Looper.java:148)
  19. at android.app.ActivityThread.main(ActivityThread.java:5417)
  20. at java.lang.reflect.Method.invoke(Native Method)
  21. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
  22. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  23.  
  24.  
  25.  
  26. AND
  27.  
  28.  
  29. java.lang.ClassCastException: android.support.v7.widget.SearchView cannot be cast to android.support.v4.view.ActionProvider
  30. at android.support.v7.view.SupportMenuInflater$MenuState.readItem(SupportMenuInflater.java:400)
  31. at android.support.v7.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:168)
  32. at android.support.v7.view.SupportMenuInflater.inflate(SupportMenuInflater.java:118)
  33. at us.roob.searchviewbase.MainActivity.onCreateOptionsMenu(MainActivity.java:30)
  34. at android.app.Activity.onCreatePanelMenu(Activity.java:2846)
  35. at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:358)
  36. at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
  37. at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:270)
  38. at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:88)
  39. at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
  40. at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
  41. at android.os.Handler.handleCallback(Handler.java:739)
  42. at android.os.Handler.dispatchMessage(Handler.java:95)
  43. at android.os.Looper.loop(Looper.java:148)
  44. at android.app.ActivityThread.main(ActivityThread.java:5417)
  45. at java.lang.reflect.Method.invoke(Native Method)
  46. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
  47. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  48.  
  49.  
  50. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  51. searchable.xml:
  52.  
  53. <searchable xmlns:android="http://schemas.android.com/apk/res/android"
  54. android:label="@string/app_name"
  55. android:hint="Hint hint"
  56. />
  57. /////////////////////////////////////////////////////////////////////////////
  58. main_menu.xml:
  59. <menu xmlns:android="http://schemas.android.com/apk/res/android"
  60. xmlns:app="http://schemas.android.com/apk/res-auto"
  61. xmlns:tools="http://schemas.android.com/tools"
  62. tools:context="myapp.searchviewbase.MainActivity">
  63. <item
  64. android:id="@+id/action_settings"
  65. android:title="@string/action_settings"
  66. android:orderInCategory="100"
  67. app:showAsAction="never" />
  68.  
  69. <item android:id="@+id/action_search"
  70. android:title="Search Title"
  71. app:showAsAction="ifRoom|collapseActionView"
  72. app:actionProviderClass="android.support.v7.widget.SearchView"/>
  73.  
  74. </menu>
  75.  
  76.  
  77.  
  78. MainActivity.java:
  79.  
  80. package myapp.searchviewbase;
  81.  
  82. import android.app.SearchManager;
  83. import android.content.Context;
  84. import android.os.Bundle;
  85. import android.support.design.widget.FloatingActionButton;
  86. import android.support.design.widget.Snackbar;
  87. import android.support.v4.view.MenuItemCompat;
  88. import android.support.v7.app.AppCompatActivity;
  89. import android.support.v7.widget.SearchView;
  90. import android.support.v7.widget.Toolbar;
  91. import android.view.Menu;
  92. import android.view.MenuItem;
  93. import android.view.View;
  94.  
  95. public class MainActivity extends AppCompatActivity {
  96.  
  97. @Override
  98. protected void onCreate(Bundle savedInstanceState) {
  99. super.onCreate(savedInstanceState);
  100. setContentView(R.layout.activity_main);
  101. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  102. setSupportActionBar(toolbar);
  103.  
  104. }
  105.  
  106. @Override
  107. public boolean onCreateOptionsMenu(Menu menu) {
  108. // Inflate the menu; this adds items to the action bar if it is present.
  109. getMenuInflater().inflate(R.menu.menu_main, menu);
  110. MenuItem searchItem = menu.findItem(R.id.action_search);
  111. SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
  112.  
  113.  
  114. SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
  115. // SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
  116. searchView.setSearchableInfo( searchManager.getSearchableInfo(getComponentName()) );
  117.  
  118.  
  119.  
  120. return true;
  121. }
  122.  
  123. @Override
  124. public boolean onOptionsItemSelected(MenuItem item) {
  125. // Handle action bar item clicks here. The action bar will
  126. // automatically handle clicks on the Home/Up button, so long
  127. // as you specify a parent activity in AndroidManifest.xml.
  128. int id = item.getItemId();
  129.  
  130. //noinspection SimplifiableIfStatement
  131. if (id == R.id.action_settings) {
  132. return true;
  133. }
  134.  
  135. return super.onOptionsItemSelected(item);
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement