i am making an android 4.03 application and i am using tabs with fragments 
in each fragment i need a searchView so i can search the list in my 
fragments.
each fragment has a code like this

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) 
>> {
>
>             inflater.inflate(R.layout.menu_items_docent, menu);
>
>             SearchView sv = (SearchView) 
>> menu.findItem(R.id.menu_search_docent).getActionView();
>
>             sv.setOnQueryTextListener(this);
>
>             
>
>         }
>
>         
>
>         @Override
>
>         public boolean onOptionsItemSelected(MenuItem item) {
>
>             switch (item.getItemId()) {
>
>                 case R.id.menu_refresh_docent:
>
>                 
>
>                     return true;
>
>                 default:
>
>                     return super.onOptionsItemSelected(item);
>
>             }
>
>         }
>
>         
>
>         @Override public boolean onQueryTextChange(String newText) {
>
>         System.out.println(newText);
>
>         mCurFilter = !TextUtils.isEmpty(newText) ? newText : null;
>
>         try{
>
>                 mAdapter.getFilter().filter(mCurFilter);}
>
>             catch(Exception e){}
>
>             return true;
>
>         }
>
>         
>
>         @Override public boolean onQueryTextSubmit(String query) {
>
>             return true;
>
>         }
>
>
if i don't have the try catch i get an error when i switch the tabs

04-09 10:48:51.072: E/AndroidRuntime(933): FATAL EXCEPTION: main
04-09 10:48:51.072: E/AndroidRuntime(933): java.lang.NullPointerException
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.appspot.workarts.calandrooster.LeerlingFragment$Fragment.onQueryTextChange(LeerlingFragment.java:129)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.SearchView.onTextChanged(SearchView.java:1091)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.SearchView.access$2000(SearchView.java:90)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.SearchView$11.onTextChanged(SearchView.java:1548)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.TextView.sendOnTextChanged(TextView.java:7634)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.TextView.setText(TextView.java:3309)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.TextView.setText(TextView.java:3162)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.EditText.setText(EditText.java:78)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.TextView.setText(TextView.java:3137)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.widget.TextView.onRestoreInstanceState(TextView.java:3037)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.View.dispatchRestoreInstanceState(View.java:9939)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2324)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2324)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2324)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2324)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.view.View.restoreHierarchyState(View.java:9917)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.android.internal.view.menu.MenuBuilder.restoreActionViewStates(MenuBuilder.java:358)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:412)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:739)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.Activity.invalidateOptionsMenu(Activity.java:2552)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.FragmentManagerImpl.invalidateOptionsMenu(FragmentManager.java:1914)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.Fragment.setHasOptionsMenu(Fragment.java:898)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.appspot.workarts.calandrooster.LeerlingFragment$Fragment.onActivityCreated(LeerlingFragment.java:100)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:847)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.BackStackRecord.run(BackStackRecord.java:622)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.os.Handler.handleCallback(Handler.java:605)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.os.Handler.dispatchMessage(Handler.java:92)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.os.Looper.loop(Looper.java:137)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
android.app.ActivityThread.main(ActivityThread.java:4424)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
java.lang.reflect.Method.invokeNative(Native Method)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
java.lang.reflect.Method.invoke(Method.java:511)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-09 10:48:51.072: E/AndroidRuntime(933): at 
dalvik.system.NativeStart.main(Native Method)

and when i leave the try catch it takes the searched text from the 1 
fragment to the other.
but it need to be removed.

this is the menu items xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android";>   
    <item android:id="@+id/menu_search_docent"
          android:title="@string/Search"
          android:icon="@drawable/ic_menu_search"
          android:showAsAction="ifRoom"
          android:actionViewClass="android.widget.SearchView" /> 
          
    <item android:id="@+id/menu_refresh_docent"
          android:icon="@drawable/ic_refresh_hd"
          android:title="@string/Refresh"
          android:showAsAction="ifRoom|withText" />
</menu>

also i use for each tab its own xml because i thought maybe that would help.

Thanks Lars.
 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to