Android Community
Results 1 to 4 of 4

Thread: Dialog Information Retrieval

  1. #1
    Join Date
    Jul 2009
    Posts
    3

    Default Dialog Information Retrieval


    I have a program that uses a Map View and when they click a menu item it prompts them (in a Dialog box) to enter a name and then press enter. Once they press enter I want to take what was received in the Text Edit in the dialog box and display it in a toast. However, it seems that I just get a blank toast when I try this. Here's some code:

    I use getters and setters to accomplish this:

    Code:
    public void setText(String text) {
            test = text;
        }
        public String getText() {
            return test;
        }
    My button listener:

    Code:
    btn_save = (Button) findViewById(R.id.btn_save);
            btn_save.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                    setText(add_dialog_editText.getText().toString());
                    dismiss();
                }
            });
    I then call the dialog in my ItemizedView class:

    Code:
    POIDialog d = new POIDialog(mContext);
                    d.setTitle("Add a POI");
                    d.setContentView(R.layout.adddialog);
                    d.show();
    But when I use d.getText(), it wont show the value that was entered in the box. Is there a better way to receive entered data in a dialog box?

  2. #2
    Join Date
    Jul 2009
    Posts
    3

    Default Re: Dialog Information Retrieval

    I think I know the issue, after I call d.show() to show the dialog, it's not waiting for interaction from the user and it just jumps right down to addLocation() which is why it's not showing up. How can I make the application wait for input received from the user before continuing?

  3. #3
    Join Date
    Jul 2009
    Posts
    3

    Default Re: Dialog Information Retrieval

    Okay so just an update, I figured out how to do this however I have a new problem...

    I have an onTouch method that creates a new GeoPoint where the user touches the screen. It then opens a dialog box and asks them for a name for this GeoPoint. This method is shown below:

    Code:
        @Override
        public boolean onTouchEvent(MotionEvent event, MapView mapView) {
            if(event.getAction() == MotionEvent.ACTION_DOWN) {
                if (add == true) {
                    this.add = false;
                    this.p = proj.fromPixels((int)event.getX(), (int)event.getY());
                    LayoutInflater li = LayoutInflater.from(mContext);
                    View view = li.inflate(R.layout.adddialog, null); 
                    winAlert = new AlertDialog.Builder(mContext)
                        .setIcon(R.drawable.marker)
                        .setTitle("Add a new POI")
                        .setPositiveButton("Save", mOnClickListener)
                        .setNegativeButton("Cancel", mOnClickListener)
                        .setView(view);
                    winDialog = winAlert.create();
                    winDialog.show();
                }
            }
            return false;
        }
    Now when the Save button is clicked, this method is called to add the point:

    Code:
        OnClickListener mOnClickListener = new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                switch(which) {
                case -1:
                    add_dialog_editText = (EditText) winDialog.findViewById(R.id.add_dialog_editText);
                    addLocation(p, "Test", add_dialog_editText.getText().toString());
                    break;
                case -2:
                    dialog.cancel();
                    return;
                }
            }
        };
    My add location method looks like this:

    Code:
        public void addLocation(GeoPoint p, String title, String desc) {
            OverlayItem overlayItem = new OverlayItem(p, title, desc);
            this.addOverlay(overlayItem);
            mapOverlays.add(this);
        }
    Now my issue is that my points will not display on the map unless

    1) I add an initial point in the constructor of this class
    2) Even after I add an initial point in the constructor, the points don't show up until I touch the screen once more (anywhere).

    I find if I comment out the dialog and put a static description the points show up immediately so there must be something in the Dialog that doesn't update until the user clicks the screen after the dialog has been closed? I really don't understand why this is behaving like this, can someone give me some help?

  4. #4
    Join Date
    Aug 2009
    Location
    India
    Posts
    2

    Smile Re: Dialog Information Retrieval


    Hello,

    I am new to android, can you please help me by posting a sample code to show a Linear layout as popup, on click of some button.

    Please it is very urgent.........coud not find any proper sample for it.

    Thanks
    Nitin

Similar Threads

  1. How to send contact information
    By brie987 in forum General Phone Chat
    Replies: 2
    Last Post: 05-04-2009, 06:18 PM
  2. information on flash
    By jujufisticuffs in forum Developers Guild
    Replies: 2
    Last Post: 02-24-2009, 04:06 PM
  3. Pictures of the OTA update & new USB connection dialog
    By mixpix405 in forum General HTC Chat
    Replies: 12
    Last Post: 11-06-2008, 11:40 AM
  4. Auto retrieval of email issues??
    By Gthmcty1 in forum General HTC Chat
    Replies: 6
    Last Post: 10-28-2008, 03:05 AM
  5. Google Talk Presence Information
    By jaroque in forum General HTC Chat
    Replies: 0
    Last Post: 10-22-2008, 01:53 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •