3

I've literally tried everything to try to get my back arrow to work on my toolbar and yet I'm unsuccessful I've tried overriding onOptionsItemSelected I've also tried the suggestions on this thread Up Navigation (Action Bar's back arrow) is not working for fragments and no success. I'm also working with fragments.

RegisterActivity

public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {

private Toolbar toolbar;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_register);
    ButterKnife.bind(this);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case ( R.id.button_accept_tos ) :
            /*
            Fragment inputUserFragment = new AcceptAgreementFragment();
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
            transaction.replace(R.id.main_activity, inputUserFragment);
            transaction.addToBackStack(null);
            transaction.commit();
            */
            break;
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

Manifest

 <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=".activity.MainActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".activity.RegisterActivity"
        android:windowSoftInputMode="adjustPan|adjustResize"
        android:screenOrientation="portrait">
    </activity>

    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".activity.MainActivity"
        />

</application>

and my activity_register xml

    <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/ghostWhiteColor"
    android:fitsSystemWindows="true"
    tools:context="com.dae.market.dav.lux.activity.RegisterActivity">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:minHeight="?attr/actionBarSize"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:titleTextColor="@android:color/white"
        app:navigationIcon="@drawable/ic_arrow_back_white_24dp"
        android:background="?attr/colorPrimary">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="test"
            android:textColor="@android:color/white"
            style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
            android:layout_gravity="center"
            />

    </android.support.v7.widget.Toolbar>



    <!--wizard>-->
    <FrameLayout
        android:id="@+id/fragment_register"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</android.support.design.widget.CoordinatorLayout>
user8924538
  • 117
  • 1
  • 7

2 Answers2

5

Try this...

Use this theme in your activity(manifest)

<style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
</style>

In your Activity

Toolbar toolbar;

//onCreate

toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

then call setNavigationOnClickListener for toolbar

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });

Now check the onClick on Back button...

Arnold Brown
  • 1,330
  • 13
  • 28
0

Add this to your manifest activity

android:theme="@style/AppTheme.NoActionBar">

Your style file must be like this

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
Bek
  • 7,790
  • 4
  • 18
  • 31