我想重写onbackpressed(),并且在所有活动中都有此代码
int backpress=0;
public void onBackPressed(){
backpress = (backpress + 1);
if (backpress>1) {
this.finish();
}else{
Toast.makeText(getApplicationContext(), R.string.finish, Toast.LENGTH_SHORT).show();
}
}
但如果可能的话,我只想重写一次函数。正确的方法是什么?
最佳答案
创建一个基本活动并在那里定义此方法。喜欢
public class BaseActivity extends Activity {
private int backpress = 0;
@Override
public void onBackPressed() {
backpress = (backpress + 1);
if (backpress > 1) {
this.finish();
} else {
Toast.makeText(getApplicationContext(), R.string.finish,
Toast.LENGTH_SHORT).show();
}
}
}
并在活动中扩展此基本活动而不是活动。喜欢
// Just override BaseActivity instead of Activity class.
public class MyActivity extends BaseActivity {
// Do you task
}
关于android - 如何正确地执行全局onBackPressed()覆盖?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24781130/