-4

I am getting error in:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_peripheral);
    getActionBar().setDisplayHomeAsUpEnabled(true);//on this line i am getting error
    mListViewHeader = (View) getLayoutInflater().inflate(R.layout.peripheral_list_services_header, null, false);

    connectViewsVariables();

    final Intent intent = getIntent();
    mDeviceName = intent.getStringExtra(EXTRAS_DEVICE_NAME);
    mDeviceAddress = intent.getStringExtra(EXTRAS_DEVICE_ADDRESS);
    mDeviceRSSI = intent.getIntExtra(EXTRAS_DEVICE_RSSI, 0) + " db";
    mDeviceNameView.setText(mDeviceName);
    mDeviceAddressView.setText(mDeviceAddress);
    mDeviceRssiView.setText(mDeviceRSSI);
    getActionBar().setTitle(mDeviceName);

  //  mListView.addHeaderView(mListViewHeader);
 //   mListView.setOnItemClickListener(listClickListener);
}

Logcat:

time: Shutting down VM
06-27 11:52:11.363 31628-31628/com.example.android.bleiqn E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.android.bleiqn, PID: 31628
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.bleiqn/com.example.android.bleiqn.PeripheralActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483)
        at android.app.ActivityThread.access$900(ActivityThread.java:153)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5441)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
        at com.example.android.bleiqn.PeripheralActivity.onCreate(PeripheralActivity.java:32)
        at android.app.Activity.performCreate(Activity.java:6303)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) 
        at android.app.ActivityThread.access$900(ActivityThread.java:153) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5441) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628) 

How can I solve it?

Pang
  • 9,564
  • 146
  • 81
  • 122
neha
  • 1
  • 1
  • check this https://stackoverflow.com/questions/34278878/how-provide-up-navigation-with-toolbars-home-button-on-v7-toolbar You have to set the toolbar first. – sauvik Jun 27 '17 at 06:45

2 Answers2

0

It is hard to decide the error from your activity class, it may be occur from your theme, layout or action bar type. better to post xml file as well.

It is look like you are going to call action bar without adding action bar to layout, That is why it gives null object reference.

If you have add the action bar as a tool bar create a object from toolbar and set it to action bar as setSupportActionBar(toolbar);

Hope this will help.

KZoNE
  • 1,249
  • 1
  • 16
  • 27
0

Add ToolBar in your xml file:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_capture_and_upload_loan_paper" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_dialog_email" />

and use ToolBar id in activity file:

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);      
    getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
Vishal Vaishnav
  • 3,346
  • 3
  • 26
  • 57