Как я могу создать условие в моем приложении для Android, при котором, когда я нажму кнопку «Назад» на панели инструментов, произойдет некоторый код.

Я пробовал это, но это не работает.

    @Override
public void onBackPressed() {
    super.onBackPressed();
    stopTimerTask();
}
0
Batz Pogi 3 Окт 2016 в 11:52

4 ответа

Лучший ответ

Попробуй это :

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case android.R.id.home:
        // this takes the user 'back', as if they pressed the left-facing    

      triangle icon on the main android toolbar.
        // if this doesn't work as desired, another possibility is to call   

        `finish()` here.
        getActivity().onBackPressed();
        return true;
    default:
        return super.onOptionsItemSelected(item);
}
}
1
Damini Mehra 3 Окт 2016 в 08:56

Только что использованный ниже код: -

toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_nav_back));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d("cek", "home selected");
//do something here
    }
});
0
Sarbjyot 3 Окт 2016 в 09:05

Манипуляции с панелью инструментов.

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        // Title and subtitle
        toolbar.setTitle(R.string.about_toolbar_title);
        toolbar.setSubtitleTextColor(Color.WHITE);
        toolbar.setTitleTextColor(Color.WHITE);
        toolbar.setBackgroundColor(getResources().getColor(
                R.color.themeToolbarColor));
        toolbar.setNavigationIcon(R.drawable.ic_action_back);
        toolbar.setNavigationOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
1
Sohail Zahid 3 Окт 2016 в 09:07
Toolbar toolbar;
toolbar.setNavigationIcon(R.drawable.left_arrow_thick);
setSupportActionBar(mToolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener()
{
     @Override
     public void onClick(View v) 
     {
                //write your code here
                stopTimerTask();
     }
});
0
Anish Kumar Dubey 3 Окт 2016 в 09:01