Question

I posted this question before, however i didnt explain myself good. I will have the other question removed. Here is my current situation:

I have a regular xml page with a textView which when clicked opens a popup dialog. This dialog contains 2 editText. Currently my code (OnClick – Done button) gets the value of both edit texts and puts them into the single TextView. However when i open the pop-up again, instead of the two strings being listed in its own editText (Where each string was originally inputted) the combined string which was stored in the text view appears in one edit text. The issue is that although i’m getting the strings from 2 different editText’s and storing them into one textView. I cannot get each string back individually. I understand that i may have to store the string from each editText into variables and then i can use the variables to show the strings combined in the textView (and the editText – when i open the popup dialog again) How would i go about this? Thank for your help

The code:

public class MainActivity extends Activity {
 /** Called when the activity is first created. */

    TextView showPopUpButton;
    EditText getInput;
    EditText getInput2;
    String myvalue = "";
    String myvalue2 = "";

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);


  showPopUpButton = (TextView) findViewById(R.id.buttonShowPopUp);

  showPopUpButton.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    showPopUp3();              }

  });
 }




 private void showPopUp3() {


  AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
  helpBuilder.setTitle("Enter PU Builder");


  LayoutInflater inflater = getLayoutInflater();
  View checkboxLayout = inflater.inflate(R.layout.popuplayout, null);
  helpBuilder.setView(checkboxLayout);


  getInput = (EditText)  checkboxLayout.findViewById(R.id.editText1);
  getInput2 = (EditText)  checkboxLayout.findViewById(R.id.editText2);


  getInput.setText(myvalue);
  getInput2.setText(myvalue2);



  helpBuilder.setPositiveButton("Done", new DialogInterface.OnClickListener() {


 @Override   
 public void onClick(DialogInterface dialog, int which) 

    {
     myvalue =  getInput.getText().toString();
     showPopUpButton.setText(myvalue + ", " + myvalue2);
    }

    });


  AlertDialog helpDialog = helpBuilder.create();
  helpDialog.show();
 }
}
Was it helpful?

Solution

First of all you need string to save your EditText value in it declare it like this

public class MainActivity extends Activity {
  /** Called when the activity is first created. */
  TextView showPopUpButton; //NEW
  EditText getInput; //NEW
  EditText getInput2; //NEW
  // declare string to save the dialog edittext
  String myValue = "" ;

then you need to show the last value of dialog in the EditText so try this :

private void showPopUp3() {
        AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
        helpBuilder.setTitle("Enter PU Builder");
        LayoutInflater inflater = getLayoutInflater();
        View checkboxLayout = inflater.inflate(R.layout.popuplayout, null);

        getInput = (EditText)  checkboxLayout.findViewById(R.id.editText1); //MISTAKE
        getInput2 = (EditText)  checkboxLayout.findViewById(R.id.editText2); //MISTAKE
        getInput.setText(showPopUpButton.getText()); //New to keep the text in the editText when done is pressed
        getInput2.setText(getInput2.getText()); //New test

        // here set the my value to edit text  , note firs time will be empty 
        getInput.setText(myValue) 

and last thing when you click in done button in dialog you need to save the EditText value like that :

@Override   
        public void onClick(DialogInterface dialog, int which){
        //showPopUpButton.setText(getInput.getText() + ", " + getInput2.getText());//NEW
       //showPopUpButton.setText(value) ;

          // save the edit text value into myvalue string 
          myvalue =  getInput.getText().toString();
        }

        });

feed me back

OTHER TIPS

This is fairly straightforward.

Create the variables to placehold your strings.

String inputText;

Where applicable, get and set.

inputText = editText.getText().toString();
textView.setText(inputText);

Did I understand this correctly? Is this what you are trying to accomplish?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top