cpk
cpk

Reputation: 17

How to set words on the edit text filed java(android)

I a developing an android app.so I'm facing a trouble on load some words in the edit Text filed when pressing the button...

ex : i have 3 buttons and One edit Text field .So these all buttons have unique name,Button_1 ="cat" Button_2="eat" Button_3="rat"

my problem is this,

when I click these button one by one, button value will be shown on the edit Text field.like sentences. when i click buttons (1,2,3) edit text field show "cat eat a rat"

but the thing is when I press Button_1 show "cat", But when I press Button_2 show "eat" but delete "cat" word.

this is my problem.I try and test lots of ways but no any right solution for fix this problem.

if you have any good suggestion for above matter, please share it with me.

Here is my code

   one.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String name="cat";             
               EditText.setText(name);

        }
    });
two.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String name="eat";             
               EditText.setText(name);

        }
    });
three.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String name="rat";             
               EditText.setText(name);

        }
    });

Thank you.

Upvotes: 0

Views: 94

Answers (3)

J.R
J.R

Reputation: 2163

final StringBuilder builder = new StringBuilder();
one.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
               builder.append(" cat");        
               EditText.setText(builder.toString());

        }
    });
two.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
               builder.append(" eat");        
               EditText.setText(builder.toString());

        }
    });
three.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
               builder.append(" rat");        
               EditText.setText(builder.toString());

        }
    });

Upvotes: 2

jay2109
jay2109

Reputation: 49

You can use the below code snippet: EditText editText = (EditText) findViewById(R.id.edit_text_field); editText.setText(editText.getText().toString() + "string"); Replace "string" with "cat" or "eat" or "rat"(the string from the existing button click).

Upvotes: 0

Spoke44
Spoke44

Reputation: 988

You have to concatenate the content with the previous value :

final String newText = textView.getText().toString() + 
buttonClicked.getText().toString();
textView.setText(newText);

In your case (after your update) :

    final EditText myEditText = ...;

    final View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final String newText = myEditText.getText().toString() + ((Button) view).getText();
            myEditText.setText(newText);
        }
    };

    one.setOnClickListener(listener);
    two.setOnClickListener(listener);
    three.setOnClickListener(listener);

Upvotes: 2

Related Questions