Android开发中各种问题集锦【1-10】
本文主要收集个人在Android应用开发过程中遇到一些问题,包括开发过程中遇到一些Bug应如何解决,或者如何通过代码调用某个方法实现一定的功能.....等等各种问题。俗话说:好记性不如烂笔头。
【1】Android中如何通过单击Button按钮来实现 BACK(返回)功能:
网上有很多人都说通过调用:
[html]
onKeyDown(KeyEvent.KEYCODE_BACK, null);
来实现该功能。但会出现报错!!
其实可以通过调用如下系统的方法来实现该功能:
[html]
onBackPressed();
【2】Android中如何通过单击Button按钮(或者其它方式)实现 MENU(菜单) 功能:
[html]
openOptionsMenu();
【3】android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 异常解决方法:
原由:定义了一个Context的变量,如 private Context mContext; 同时在 onCreate(Bundle savedInstanceState); 方法中采用 mContext = getApplicationContext(); 实例化。同时在该Activity中添加一个AlertDialog的提示对话框,采用如下方式实例化:
[html]
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
这样就会出现异常!致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。
解决方法:将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充就可以正确的创建一个Dialog了。
【4】android中动态实现全屏和动态退出全屏方法:
[html]
/**
* 动态设置全屏
*/
private void setFullScreen(){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
/**
* 动态取消全屏
*/
private void quitFullScreen(){
final WindowManager.LayoutParams attrs = getWindow().getAttributes();
attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attrs);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
【5】Android中如何获取SDCard的目录路径:
[html]
/**
* 获取SDCard的目录路径功能
* @return
*/
private String getSDCardPath(){
File sdcardDir = null;
//判断SDCard是否存在
boolean sdcardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(sdcardExist){
sdcardDir = Environment.getExternalStorageDirectory();
}
return sdcardDir.toString();
}
【6】未完待续...
摘自 Android-Idea
补充:移动开发 , Android ,