Vì tôi implented ứng dụng compat SearchView tôi không hoạt động nữa:SearchView không hoạt động kể từ khi ứng dụng compat
Process: com.laurenswuyts.witpa, PID: 26666
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setSearchableInfo(android.app.SearchableInfo)' on a null object reference
at com.laurenswuyts.witpa.Activities.Events.EventActivity.onCreateOptionsMenu(EventActivity.java:75)
at android.app.Activity.onCreatePanelMenu(Activity.java:2820)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:275)
at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:276)
at android.support.v7.app.ActionBarActivityDelegate$1.onCreatePanelMenu(ActionBarActivityDelegate.java:79)
at android.support.v7.widget.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:49)
at android.support.v7.internal.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:459)
at android.support.v7.internal.app.ToolbarActionBar$1.run(ToolbarActionBar.java:69)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Vì vậy nullpointer cho SearchView trong khi tôi có nó:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.event_main, menu);
// Get the SearchView and set the searchable configuration
// Associate searchable configuration with the SearchView
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
return super.onCreateOptionsMenu(menu);
}
Và trong tôi menu Tôi có điều này:
<!-- Search Widget -->
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="always"
android:actionViewClass="android.support.v7.widget.SearchView"/>
Tôi không biết tại sao nó không hoạt động nữa nhưng nó đã xảy ra kể từ khi tôi bắt đầu sử dụng đồng ứng dụng mpat 21.
Kính trọng,
Thật tuyệt vời, bạn có thể giải thích cho tôi lý do tôi phải sử dụng ứng dụng thay vì Android không? – Laurenswuyts
@Laurenswuyts kể từ khi bạn bắt đầu sử dụng thư viện hỗ trợ, một số thuộc tính hiện phải được xác định bằng không gian tên tùy chỉnh. Bạn có không gian tên đó được xác định trong tệp trình đơn của bạn. Bạn có thể tìm thêm một số thông tin trong [tài liệu] (http://developer.android.com/training/custom-views/create-view.html#customattr). – Simas
Tôi sử dụng ứng dụng: không gian tên, và nó hoạt động trên phiên bản gỡ lỗi, nhưng nó gây ra lỗi tương tự trong chế độ phát hành khi tôi đã minifyEnabled đúng trong gradle.build, bất kỳ đề nghị? –