工具栏中的向上箭头没有后退
Arrow Up in toolbar no back
我想将 return 代表我的箭头添加到我的父 class,主 activity,我添加了一个使用 material 设计的工具栏。
它应该只在第二个 activity
中添加此代码才能工作
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但是当我这样做时它没有打开应用程序并且我收到以下错误
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.access0(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)
所以我在 xml 和 java 文件中添加了工具栏。但是现在显示了日期,但它没有 return 我到我的父文件 main activity
谢谢
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秒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>
清单文件
<?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>
按箭头没有任何反应
这段代码之后:
setSupportActionBar(mybar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
添加导航 onclick 侦听器:
mybar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
我想将 return 代表我的箭头添加到我的父 class,主 activity,我添加了一个使用 material 设计的工具栏。 它应该只在第二个 activity
中添加此代码才能工作 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但是当我这样做时它没有打开应用程序并且我收到以下错误
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.access0(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)
所以我在 xml 和 java 文件中添加了工具栏。但是现在显示了日期,但它没有 return 我到我的父文件 main activity
谢谢
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秒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>
清单文件
<?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>
按箭头没有任何反应
这段代码之后:
setSupportActionBar(mybar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
添加导航 onclick 侦听器:
mybar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});