小编Ste*_*955的帖子

Android onBackPressed()没有被调用?

在我的MainActivity中,它从AppCompatActivity扩展,我想覆盖onBackPressed方法,如下所示:

@Override
public void onBackPressed() {
    Log.d("MainActivity","onBackPressed");
    Toast.makeText(getApplicationContext(),"onBackPressed",Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

但onBackPressed没有被调用.然而,如果我不覆盖onBackPressed,应用程序关闭,当我按下后退按钮时,如果我覆盖它,它不会.

我活动的其余部分如下所示:

public class MainActivity extends AppCompatActivity {

private Toolbar toolbar;
private Drawer drawer;
private FloatingActionButton fab_test;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

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

    fab_test = (FloatingActionButton) findViewById(R.id.fab_test);
    fab_test.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(),"FAB Test pressed",Toast.LENGTH_SHORT).show();
        }
    });

    buildDrawer();

    getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer,page).commit();
}

@Override
public void onBackPressed() {
    Log.d("MainActivity","onBackPressed");
    Toast.makeText(getApplicationContext(),"onBackPressed",Toast.LENGTH_SHORT).show();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);      
    return true;
}
} …
Run Code Online (Sandbox Code Playgroud)

java android overriding back android-activity

14
推荐指数
3
解决办法
2万
查看次数

标签 统计

android ×1

android-activity ×1

back ×1

java ×1

overriding ×1