我想使用onBackPressed()方法,並且仍然希望在2.0之前爲Android SDK提供支持。 onBackPressed()在Android SDK 2.0中引入。但怎麼辦?使用onBackPressed()向後兼容
3
A
回答
8
使用onKeyDown;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Your Code Here
return true;
}
return super.onKeyDown(keyCode, event);
}
4
你可以捕捉的關鍵事件,並檢查是否有返回鍵。在您的活動上:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
並寫入goBack方法去你需要的地方。
1
答案---> http://apachejava.blogspot.com/2011/01/backward-compatibility-using.html
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
// Take care of calling this method on earlier versions of
// the platform where it doesn't exist.
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed() {
// This will be called either automatically for you on 2.0
// or later, or by the code above on earlier versions of the
// platform.
return;
}
相關問題
- 1. 向後兼容的onBackPressed
- 2. Xcode向後兼容
- 3. 向後兼容Android
- 4. 向後兼容BackupAgent
- 5. ios5向後兼容
- 6. Office.Interop向後兼容?
- 7. iOS6向後兼容
- 8. MSVCRT向後兼容?
- 9. 向後兼容setOnDateSetListener
- 10. 向後兼容使用核心數據
- 11. Android平臺向後兼容
- 12. 是Tomcat向後兼容嗎?
- 13. SYSTEM_UI_FLAG_IMMERSIVE_STICKY向後兼容性
- 14. MS Office PIA「向後兼容」
- 15. .net 4向後兼容性
- 16. visual studio向後兼容性
- 17. 字體後向不兼容
- 18. GCC向後兼容性
- 19. 模板向後兼容4.7
- 20. DirectX 11向後兼容
- 21. 向後兼容IDL/ODL
- 22. MYSQL向後兼容5.1.1?
- 23. 是RactiveJS 0.5向後兼容?
- 24. VSTO 2012:向後兼容性
- 25. IOS SDK向後兼容
- 26. PHP的password_hash()向後兼容?
- 27. pandas.DataFrame.to_pickle向後兼容性
- 28. Android向後兼容技術
- 29. HTML5動畫 - 向後兼容
- 30. 向後兼容性play-1.2.3
該解決方案將無法工作。 2件事...一,android.os.Build.VERSION.SDK_INT在Android 1.5上不可用。二,你需要調用super.onBackPressed()否則後退按鈕不起作用。調用super.onBackPressed()將不會在Android 1.5設備下找到並返回錯誤。 – Jona 2011-01-28 17:38:47