乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android中EditText的輸入字?jǐn)?shù)限制

       杰出天下 2013-01-18
      在開發(fā)應(yīng)用的時(shí)候,經(jīng)常會(huì)限制用戶輸入的字?jǐn)?shù),比如發(fā)表評(píng)論或者其它什么的,下面來個(gè)簡單的demo

        EditText et_content;//定義一個(gè)文本輸入框<br>TextView tv_num;// 用來顯示剩余字?jǐn)?shù)<br>int num = 10;//限制的最大字?jǐn)?shù) <br>

        et_content = (EditText) findViewById(R.id.et_content);<br>tv_num = (TextView) findViewById(R.id.tv_num); <br>tv_num.setText("10");<br>

        下面為EditText文本框添加監(jiān)聽

        et_content.addTextChangedListener(new TextWatcher() {
                    private CharSequence temp;
                    private int selectionStart;
                    private int selectionEnd;

                    @Override
                    public void onTextChanged(CharSequence s, int start, int before,
                            int count) {
                        temp = s;
                        System.out.println("s="+s);
                    }

                    @Override
                    public void beforeTextChanged(CharSequence s, int start, int count,
                            int after) {
                    }

                    @Override
                    public void afterTextChanged(Editable s) {
                        int number = num - s.length();
                        tv_num.setText("" + number);
                        selectionStart = et_content.getSelectionStart();
                        selectionEnd = et_content.getSelectionEnd();
                        //System.out.println("start="+selectionStart+",end="+selectionEnd);
                        if (temp.length() > num) {
                            s.delete(selectionStart - 1, selectionEnd);
                            int tempSelection = selectionStart;
                            et_content.setText(s);
                            et_content.setSelection(tempSelection);//設(shè)置光標(biāo)在最后
                        }
                    }
                });

        這樣就可以實(shí)現(xiàn)了。

      二.方法二:
      利用EditText可以設(shè)置filter的特性,自定義一個(gè)LengthFilter,當(dāng)輸入字?jǐn)?shù)超過限制時(shí),做出自定義的提示
      // 輸入框限制輸入字?jǐn)?shù)
      InputFilter[] filters = new InputFilter[1];
      filters[0] = new InputFilter.LengthFilter(Constant.TEXT_MAX) {
      @Override
      public CharSequence filter(CharSequence source, int start, int end,
      Spanned dest, int dstart, int dend) {
      if (source.length() > 0 && dest.length() == Constant.TEXT_MAX) {
      if ((System.currentTimeMillis() - toastTime) > interval) {
      toastTime = System.currentTimeMillis();
      Toast
      .makeText(KaguHomeActivity.this,
      R.string.edit_content_limit,
      Toast.LENGTH_SHORT).show();
      }
      }
      if (dest.toString().equals(
      getResources().getString(R.string.input_default_txt))) {
      Bundle data = new Bundle();
      data.putCharSequence("source", source);
      Message message = textHandler.obtainMessage();
      message.setData(data);
      message.sendToTarget();
      }

      return super.filter(source, start, end, dest, dstart, dend);
      }
      };
      editText.setFilters(filters);
      private Handler textHandler = new Handler() {
      @Override
      public void handleMessage(Message msg) {

      Bundle data = msg.getData();
      CharSequence source = data.getCharSequence("source");
      editText.setTextColor(Color.BLACK);
      editText.setText(source);
      editText.setSelection(source.length());
      }
      };

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多