Android应用开发常用知识(3)

根据包名启动应用

    private void startAppByPkgName(String pkgName){
        Intent intent =null;

        intent = mContext.getPackageManager().getLaunchIntentForPackage(pkgName);

        if(intent != null){
            mContext.startActivity(intent);
        }
    }

EditText获取焦点自动选中部分文本

EditText如果想实现获取焦点选中全部文本比较方便,用下面代码即可:

mEditText.setSelectAllOnFocus(true);

如果想部分选中,用下面代码:

        mEditTextCurName.setSelectAllOnFocus(true);
        mEditTextCurName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    int start = 0;
                    int stop = XXXX;
                    mEditText.setSelection(start, stop);
                }
            }
        });

如果只设置setOnFocusChangeListener的话你会发现根本实现不了这个效果,通过看源码发现,在onTouchUp的时候做了某些处理,但如果setSelectAllOnFocus的话会规避这个问题。

你可能感兴趣的:(Android应用开发常用知识(3))