I want to add the arrow that returns me to my parent class, main activity, I have added a toolbar using material design. it is supposed to work only adding this code in the second activity
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
but when I do that it doesn't open the app and I get the following error
06-30 15:04:57.869 11854-11854/com.niccode.pets W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41786930)
06-30 15:04:57.879 11854-11854/com.niccode.pets E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.niccode.pets/com.niccode.pets.Favorites}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.niccode.pets.Favorites.onCreate(Favorites.java:14)
at android.app.Activity.performCreate(Activity.java:5131)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
So i added the toolbar inside the xml and in java file. But now the date is shown, but it doesn't return me to my parent file main activity
Thank you
package com.niccode.pets;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.os.Bundle;
public class Favorites extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favorites);
Toolbar mybar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(mybar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
xml second activity
<androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Favorites">
<include android:id="@+id/my_toolbar" layout="@layout/toolbar"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Manifiest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.niccode.pets">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Favorites"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"
>
</meta-data>
</activity>
</application>
</manifest>
pressing the arrow does nothing
After this piece of code :
setSupportActionBar(mybar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Add a navigation onclick listener :
mybar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});