2017-09-23 107 views
-1

得到错误已发生空指针异常,并试图调用虚拟方法得到错误空指针异常尝试调用虚拟方法

public class after10th extends AppCompatActivity { 

    ArrayAdapter<String> adapter; 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.after10th); 

     ListView lv = (ListView) findViewById(R.id.searchten); 
     ArrayList<String> after_ten = new ArrayList<>(); 
     after_ten.addAll(Arrays.asList(getResources().getStringArray(R.array.after_ten))); 

     adapter = new ArrayAdapter<>(after10th.this, android.R.layout.simple_list_item_1, after_ten); 

     lv.setAdapter(adapter); 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu_search, menu); 
     MenuItem item = menu.findItem(R.id.menusearchten); 
     SearchView searchView = (SearchView) item.getActionView(); 
     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       adapter.getFilter().filter(newText); 
       return false; 
      } 
     }); 

       return super.onCreateOptionsMenu(menu);`enter code here` 
    } 

} 

这是错误:

09-23 19:09: 17.242 9000-9000/com.example.supriya.career_guidance E/AndroidRuntime:致命异常:主

过程:com.example.supriya.career_guidance,PID:9000

显示java.lang.NullPointerException:尝试上的空对象引用调用虚拟方法“无效android.widget.SearchView.setOnQueryTextListener(android.widget.SearchView $ OnQueryTextListener)”

回答

0

该错误消息几乎彻底说该item.getActionView()返回null,在此行上:

SearchView searchView = (SearchView) item.getActionView(); 
相关问题