Pasting only numbers from the Clipboard










0















InputType of EditText in my application is number, only. How can I paste only numbers from clipboard to this EditText, if text in clipboard contains both numbers and letter?










share|improve this question
























  • You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

    – Ümañg ßürmån
    Nov 13 '18 at 11:12











  • Yes, I need to do it programmatically

    – tm13
    Nov 13 '18 at 11:31











  • Please check out the solution.

    – Ümañg ßürmån
    Nov 13 '18 at 17:24











  • you not understand my code

    – suresh madaparthi
    Nov 14 '18 at 3:46















0















InputType of EditText in my application is number, only. How can I paste only numbers from clipboard to this EditText, if text in clipboard contains both numbers and letter?










share|improve this question
























  • You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

    – Ümañg ßürmån
    Nov 13 '18 at 11:12











  • Yes, I need to do it programmatically

    – tm13
    Nov 13 '18 at 11:31











  • Please check out the solution.

    – Ümañg ßürmån
    Nov 13 '18 at 17:24











  • you not understand my code

    – suresh madaparthi
    Nov 14 '18 at 3:46













0












0








0


0






InputType of EditText in my application is number, only. How can I paste only numbers from clipboard to this EditText, if text in clipboard contains both numbers and letter?










share|improve this question
















InputType of EditText in my application is number, only. How can I paste only numbers from clipboard to this EditText, if text in clipboard contains both numbers and letter?







android android-edittext clipboardmanager






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 12:38







tm13

















asked Nov 13 '18 at 11:08









tm13tm13

5381320




5381320












  • You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

    – Ümañg ßürmån
    Nov 13 '18 at 11:12











  • Yes, I need to do it programmatically

    – tm13
    Nov 13 '18 at 11:31











  • Please check out the solution.

    – Ümañg ßürmån
    Nov 13 '18 at 17:24











  • you not understand my code

    – suresh madaparthi
    Nov 14 '18 at 3:46

















  • You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

    – Ümañg ßürmån
    Nov 13 '18 at 11:12











  • Yes, I need to do it programmatically

    – tm13
    Nov 13 '18 at 11:31











  • Please check out the solution.

    – Ümañg ßürmån
    Nov 13 '18 at 17:24











  • you not understand my code

    – suresh madaparthi
    Nov 14 '18 at 3:46
















You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

– Ümañg ßürmån
Nov 13 '18 at 11:12





You can't do that with xml, but you can do that with the help of your code in Java or Kotlin

– Ümañg ßürmån
Nov 13 '18 at 11:12













Yes, I need to do it programmatically

– tm13
Nov 13 '18 at 11:31





Yes, I need to do it programmatically

– tm13
Nov 13 '18 at 11:31













Please check out the solution.

– Ümañg ßürmån
Nov 13 '18 at 17:24





Please check out the solution.

– Ümañg ßürmån
Nov 13 '18 at 17:24













you not understand my code

– suresh madaparthi
Nov 14 '18 at 3:46





you not understand my code

– suresh madaparthi
Nov 14 '18 at 3:46












2 Answers
2






active

oldest

votes


















1














Solution: There are 2 things which came up.



Firstly: As I've tested your question, if you have set EditText as android:inputType="number" then it behaves exactly how you want. If you paste an alphanumeric string then it shows only number. It doesn't show Alphabets or any special characters at all. This was tested in my device Android 7.1.1 (API25).



Secondly: If You still want to use a workaround which suits your need then you can use TextWatcher:




  • Step1: Make an EditText global object in which you will paste your String, and initialize it:



    EditText editText;


    then in your onCreate():



    editText = findViewById(R.id.your_editText);



  • Step2: Add the TextWatcher



    editText.addTextChangedListener(new TextWatcher() 
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after)



    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count)



    @Override
    public void afterTextChanged(Editable s)
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    try
    CharSequence txt = clipboard.getPrimaryClip().getItemAt(0).getText();
    String str = getOnlyNumbers(txt.toString());
    editText.setText(str);
    catch (Exception e)
    return;


    );



  • Step3: Add the below method in your class to rescue only numbers:



    public String getOnlyNumbers(String str) 

    str = str.replaceAll("[^\d.]", "");

    return str;




I hope this will help. If you have any doubts, please comment below.






share|improve this answer
































    -1














    Yes its possible



     final ClipboardManager myClipboard;
    final ClipData myClip = new ClipData[1];
    final int voterid;
    voterid= new int1, 2, 3, 4;


    using Base adapter



     farea.setText(voterid);

    farea.setOnClickListener(new View.OnClickListener()
    @Override
    public void onClick(View view)
    myClip[0] = ClipData.newPlainText("text", voterid);
    myClipboard.setPrimaryClip(myClip[0]);

    Toast.makeText(getApplicationContext(), "Text Copied",
    Toast.LENGTH_SHORT).show();

    );





    share|improve this answer






















      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279681%2fpasting-only-numbers-from-the-clipboard%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      Solution: There are 2 things which came up.



      Firstly: As I've tested your question, if you have set EditText as android:inputType="number" then it behaves exactly how you want. If you paste an alphanumeric string then it shows only number. It doesn't show Alphabets or any special characters at all. This was tested in my device Android 7.1.1 (API25).



      Secondly: If You still want to use a workaround which suits your need then you can use TextWatcher:




      • Step1: Make an EditText global object in which you will paste your String, and initialize it:



        EditText editText;


        then in your onCreate():



        editText = findViewById(R.id.your_editText);



      • Step2: Add the TextWatcher



        editText.addTextChangedListener(new TextWatcher() 
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)



        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)



        @Override
        public void afterTextChanged(Editable s)
        ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
        try
        CharSequence txt = clipboard.getPrimaryClip().getItemAt(0).getText();
        String str = getOnlyNumbers(txt.toString());
        editText.setText(str);
        catch (Exception e)
        return;


        );



      • Step3: Add the below method in your class to rescue only numbers:



        public String getOnlyNumbers(String str) 

        str = str.replaceAll("[^\d.]", "");

        return str;




      I hope this will help. If you have any doubts, please comment below.






      share|improve this answer





























        1














        Solution: There are 2 things which came up.



        Firstly: As I've tested your question, if you have set EditText as android:inputType="number" then it behaves exactly how you want. If you paste an alphanumeric string then it shows only number. It doesn't show Alphabets or any special characters at all. This was tested in my device Android 7.1.1 (API25).



        Secondly: If You still want to use a workaround which suits your need then you can use TextWatcher:




        • Step1: Make an EditText global object in which you will paste your String, and initialize it:



          EditText editText;


          then in your onCreate():



          editText = findViewById(R.id.your_editText);



        • Step2: Add the TextWatcher



          editText.addTextChangedListener(new TextWatcher() 
          @Override
          public void beforeTextChanged(CharSequence s, int start, int count, int after)



          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count)



          @Override
          public void afterTextChanged(Editable s)
          ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
          try
          CharSequence txt = clipboard.getPrimaryClip().getItemAt(0).getText();
          String str = getOnlyNumbers(txt.toString());
          editText.setText(str);
          catch (Exception e)
          return;


          );



        • Step3: Add the below method in your class to rescue only numbers:



          public String getOnlyNumbers(String str) 

          str = str.replaceAll("[^\d.]", "");

          return str;




        I hope this will help. If you have any doubts, please comment below.






        share|improve this answer



























          1












          1








          1







          Solution: There are 2 things which came up.



          Firstly: As I've tested your question, if you have set EditText as android:inputType="number" then it behaves exactly how you want. If you paste an alphanumeric string then it shows only number. It doesn't show Alphabets or any special characters at all. This was tested in my device Android 7.1.1 (API25).



          Secondly: If You still want to use a workaround which suits your need then you can use TextWatcher:




          • Step1: Make an EditText global object in which you will paste your String, and initialize it:



            EditText editText;


            then in your onCreate():



            editText = findViewById(R.id.your_editText);



          • Step2: Add the TextWatcher



            editText.addTextChangedListener(new TextWatcher() 
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after)



            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count)



            @Override
            public void afterTextChanged(Editable s)
            ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            try
            CharSequence txt = clipboard.getPrimaryClip().getItemAt(0).getText();
            String str = getOnlyNumbers(txt.toString());
            editText.setText(str);
            catch (Exception e)
            return;


            );



          • Step3: Add the below method in your class to rescue only numbers:



            public String getOnlyNumbers(String str) 

            str = str.replaceAll("[^\d.]", "");

            return str;




          I hope this will help. If you have any doubts, please comment below.






          share|improve this answer















          Solution: There are 2 things which came up.



          Firstly: As I've tested your question, if you have set EditText as android:inputType="number" then it behaves exactly how you want. If you paste an alphanumeric string then it shows only number. It doesn't show Alphabets or any special characters at all. This was tested in my device Android 7.1.1 (API25).



          Secondly: If You still want to use a workaround which suits your need then you can use TextWatcher:




          • Step1: Make an EditText global object in which you will paste your String, and initialize it:



            EditText editText;


            then in your onCreate():



            editText = findViewById(R.id.your_editText);



          • Step2: Add the TextWatcher



            editText.addTextChangedListener(new TextWatcher() 
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after)



            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count)



            @Override
            public void afterTextChanged(Editable s)
            ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            try
            CharSequence txt = clipboard.getPrimaryClip().getItemAt(0).getText();
            String str = getOnlyNumbers(txt.toString());
            editText.setText(str);
            catch (Exception e)
            return;


            );



          • Step3: Add the below method in your class to rescue only numbers:



            public String getOnlyNumbers(String str) 

            str = str.replaceAll("[^\d.]", "");

            return str;




          I hope this will help. If you have any doubts, please comment below.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 14 '18 at 5:35

























          answered Nov 13 '18 at 17:24









          Ümañg ßürmånÜmañg ßürmån

          3,21831130




          3,21831130























              -1














              Yes its possible



               final ClipboardManager myClipboard;
              final ClipData myClip = new ClipData[1];
              final int voterid;
              voterid= new int1, 2, 3, 4;


              using Base adapter



               farea.setText(voterid);

              farea.setOnClickListener(new View.OnClickListener()
              @Override
              public void onClick(View view)
              myClip[0] = ClipData.newPlainText("text", voterid);
              myClipboard.setPrimaryClip(myClip[0]);

              Toast.makeText(getApplicationContext(), "Text Copied",
              Toast.LENGTH_SHORT).show();

              );





              share|improve this answer



























                -1














                Yes its possible



                 final ClipboardManager myClipboard;
                final ClipData myClip = new ClipData[1];
                final int voterid;
                voterid= new int1, 2, 3, 4;


                using Base adapter



                 farea.setText(voterid);

                farea.setOnClickListener(new View.OnClickListener()
                @Override
                public void onClick(View view)
                myClip[0] = ClipData.newPlainText("text", voterid);
                myClipboard.setPrimaryClip(myClip[0]);

                Toast.makeText(getApplicationContext(), "Text Copied",
                Toast.LENGTH_SHORT).show();

                );





                share|improve this answer

























                  -1












                  -1








                  -1







                  Yes its possible



                   final ClipboardManager myClipboard;
                  final ClipData myClip = new ClipData[1];
                  final int voterid;
                  voterid= new int1, 2, 3, 4;


                  using Base adapter



                   farea.setText(voterid);

                  farea.setOnClickListener(new View.OnClickListener()
                  @Override
                  public void onClick(View view)
                  myClip[0] = ClipData.newPlainText("text", voterid);
                  myClipboard.setPrimaryClip(myClip[0]);

                  Toast.makeText(getApplicationContext(), "Text Copied",
                  Toast.LENGTH_SHORT).show();

                  );





                  share|improve this answer













                  Yes its possible



                   final ClipboardManager myClipboard;
                  final ClipData myClip = new ClipData[1];
                  final int voterid;
                  voterid= new int1, 2, 3, 4;


                  using Base adapter



                   farea.setText(voterid);

                  farea.setOnClickListener(new View.OnClickListener()
                  @Override
                  public void onClick(View view)
                  myClip[0] = ClipData.newPlainText("text", voterid);
                  myClipboard.setPrimaryClip(myClip[0]);

                  Toast.makeText(getApplicationContext(), "Text Copied",
                  Toast.LENGTH_SHORT).show();

                  );






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 13 '18 at 11:14









                  suresh madaparthisuresh madaparthi

                  25219




                  25219



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279681%2fpasting-only-numbers-from-the-clipboard%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

                      Darth Vader #20

                      Ondo