Note that there are some explanatory texts on larger screens.

plurals
  1. PONullPointerException when adding a TabListener
    primarykey
    data
    text
    <p>I get this error message in LogCat:</p> <blockquote> <p>06-25 15:17:34.495: E/AndroidRuntime(5891): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.MainActivity}: <strong>java.lang.NullPointerException</strong> 06-25 16:07:43.589: E/AndroidRuntime(6587): Caused by: java.lang.NullPointerException 06-25 16:07:43.589: E/AndroidRuntime(6587): <strong>at com.example.MyTabsListener.onTabSelected(MyTabListener.java:28)</strong></p> </blockquote> <p>This is my main activity:</p> <pre><code>package com.example; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockActivity; public class MainActivity extends SherlockActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actionbar = getSupportActionBar(); actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tab1 = actionbar.newTab().setText("Fragment A"); SherlockFragment fragment1 = new AFragment(); tab1.setTabListener(new MyTabsListener(fragment1, this .getApplicationContext())); actionbar.addTab(tab1); } } </code></pre> <p>And my simple TabListener:</p> <pre><code>package com.example; import android.content.Context; import android.support.v4.app.FragmentTransaction; import android.widget.Toast; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockFragment; class MyTabsListener implements ActionBar.TabListener {     public SherlockFragment fragment;     private final Context appContext;     public MyTabsListener(SherlockFragment fragment, Context ctx) {         this.fragment = fragment;         this.appContext = ctx;     }     @Override     public void onTabReselected(Tab tab, FragmentTransaction ft) {         Toast.makeText(this.appContext, "Reselected!", Toast.LENGTH_LONG)                 .show();     }     @Override     public void onTabSelected(Tab tab, FragmentTransaction ft) {         ft.replace(R.id.fragment_container, fragment);     }     @Override     public void onTabUnselected(Tab tab, FragmentTransaction ft) {         ft.remove(fragment);     } } </code></pre> <p>And finally my class <em>Fragment A</em>:</p> <pre><code>package com.example; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.actionbarsherlock.app.SherlockFragment; public class AFragment extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.weekdays, container, false); } } </code></pre> <p>So this function is causing the error in the TabListener:</p> <pre><code>@Override public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.replace(R.id.fragment_container, fragment); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload