其实,这个问题很简单,但是网上的好多资料,都走歪了。直接上代码:

final AlertDialog dialog = new AlertDialog.Builder(this).create();    LayoutInflater layoutInflater = LayoutInflater.from(this);    View view = layoutInflater.inflate(R.layout.modify_cart_num, null);    dialog.setView(view);    dialog.show();    ImageView ivSub = (ImageView) view.findViewById(R.id.ivSub_cart_commodity);    ImageView ivSum = (ImageView) view.findViewById(R.id.ivSum_cart_commodity);    final EditText edCount = (EditText) view.findViewById(R.id.ed_count);    edCount.setText(5+"");    final Button btnCancel = (Button) view.findViewById(R.id.btn_cancel);    final Button btnConfim = (Button) view.findViewById(R.id.btn_confirm);    edCount.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            //设置可获得焦点            edCount.setFocusable(true);            edCount.setFocusableInTouchMode(true);            //请求获得焦点            edCount.requestFocus();            //调用系统输入法            InputMethodManager inputManager = (InputMethodManager) edCount                    .getContext().getSystemService(Context.INPUT_METHOD_SERVICE);            inputManager.showSoftInput(edCount, 0);        }    });    btnCancel.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            dialog.dismiss();        }    });    btnConfim.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            int count = parseInt(edCount.getText().toString());            dialog.dismiss();        }    });

当然,最后是xml代码:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

之后你就会发现,那光标问题怎么解决,怎么让光标处于始终最末端?其实自定义一个EditText就行了。代码如下:

public class CustomEditText extends EditText {public CustomEditText(Context context) {    super(context);}public CustomEditText(Context context, AttributeSet attrs) {        super(context, attrs);    }    public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    protected void onSelectionChanged(int selStart, int selEnd) {        super.onSelectionChanged(selStart, selEnd);        //保证光标始终在最后面        if(selStart==selEnd){//防止不能多选            setSelection(getText().length());        }    }}

更多相关文章

  1. 代码设置RelativeLayout相对位置设置
  2. android瀑布流代码
  3. 【Android】监听SDCard安装和卸载的代码片段(测试通过)
  4. android : 控件在代码中设置属性-setWidth(int pixels)或setHeig
  5. android用代码获取布局文件
  6. Android 代码扫描工具

随机推荐

  1. Android杂谈---layout_x与layout_y的正确
  2. 《Android》Lesson21-广播+SharedPrefere
  3. ListView取消分割线
  4. Android(安卓)Retrofit 源码系列(一)~ 原理
  5. Android(java)学习笔记113:Android编写代码
  6. 13-4-4 android的SQLite功能应用
  7. android accessibility
  8. Android系统权限和root权限
  9. android解决无法设定listview的item高度(
  10. Android(安卓)yyyy-MM-dd'T'HH:mm:ss.SSS