1

I want change icon when user click button of the toolbar.

But When I try change icon or behavior have many problems.

I try @override my variable static from my activity main example :

Activity1

toolbar.setNavigationIcon(R.drawable.abc_btn_radio_material); // not change original ic_drawer
toolbar = (Toolbar) findViewById(R.id.tool_bar);

Fragment1 (BACK setNavigationOnClickListener WORKS)

MainActivity.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here, such as start an Intent to the parent activity.
        Toast.makeText(getActivity(), "atras", Toast.LENGTH_SHORT).show();
        MainActivity.FragmentReutil2(new Class[]{FragmentMenuStart.class}, 0, getActivity());
    }
});

Fragment2 (BACK setNavigationOnClickListener NOT Works )

    MainActivity.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // do something here, such as start an Intent to the parent activity.
            Toast.makeText(getActivity(), "atras", Toast.LENGTH_SHORT).show();
            MainActivity.FragmentReutil2(new Class[]{Fragment1.class}, 0, getActivity());
        }
    });

How I can change icons + setNavigationOnClickListener (control about fragments or activitys)

Image :

https://i.stack.imgur.com/vcegt.png

1 Answers1

0

Use this code

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);

for writing the NavigationOnClickListener override onOptionsItemSelected method

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case android.R.id.home:
            // Here write your code for navigation click
            return true;          
        default:
            return super.onOptionsItemSelected(item);
    }
}
HpTerm
  • 8,151
  • 12
  • 51
  • 67
bGorle
  • 1,978
  • 2
  • 22
  • 28
  • you code is good, thanks, and second problem, is setNavigationOnClickListener, how I can override ? I read this in stack http://stackoverflow.com/questions/7992216/android-fragment-handle-back-button-press –  Jul 28 '15 at 12:04
  • If my answer helps you don't hesitate to upvote and select as answered – bGorle Jul 28 '15 at 12:34
  • I debug and never called onOptionsItemSelected, I click ActionBarDrawerToggle. –  Jul 28 '15 at 12:48
  • May be you are Override the mehod in Fragment, then call this method `setHasOptionsMenu(true)` onCreatView of Fragment – bGorle Jul 28 '15 at 14:14