Learner_51
Learner_51

Reputation: 1075

How to output text result in Android?

In an android website, I found an article about a widget similar to a drop-down list for selecting items. (Following is the link to the site; and it shows all the codes).

http://developer.android.com/resources/tutorials/views/hello-spinner.html

It uses the following code to display a message once you have selected a planet.

Toast.makeText(parent.getContext(), "Planet is Selected", Toast.LENGTH_LONG).show();

But this message "Planet is Selected" is only going to display for about 3 seconds and then it disappears. Can you please tell me how can I make the message stay on the screen for a longer time. Or how can I output the "Planet is Selected" message as a text layout in to the screen(So that it will stay on the screen permanently till I select another item from the list)? How can I use addView(tv) instead of setContentView(tv) Any help would be greatly appreciated.

public class MyOnItemSelectedListener implements OnItemSelectedListener {

   public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
   {                   
       if (parent.getItemAtPosition(pos).toString().equals("Mars"))
       {      TextView tv = new TextView(HelloSpinner.this); 
              tv.setText(parent.getItemAtPosition(pos).toString() + "Planet is Selected");
              setContentView(tv); //How can I use addView(tv); here?
              //Toast.makeText(parent.getContext(), "Planet Selected", Toast.LENGTH_LONG).show();
       }
   }

   public void onNothingSelected(AdapterView parent) 
   {
         // Do nothing.
   } }

enter image description here

Upvotes: 0

Views: 16063

Answers (3)

Jan Dragsbaek
Jan Dragsbaek

Reputation: 8101

If you want it to stay permanently on the screen, why not use a TextView and set your value to that instead of a Toast.

If you have any problems with not being able to use TextView, ie undefined. You should take a look at the textview documentation, as it is very well described there.

Upvotes: 3

Shailendra Singh Rajawat
Shailendra Singh Rajawat

Reputation: 8242

third parameter Toast.LENGTH_LONG is time. so you can set any integer value ( not sure second or millisecond) ,. then on specific event call toast.hide() ; toast is good choice for show message for some times only . so use textView if possible

create TextView with activity context :

TextView tv = new TextView(ActrivityName.this)

else if not an activity

TextView tv = new TextView(parent.getContext()) 

Upvotes: 0

RajaReddy PolamReddy
RajaReddy PolamReddy

Reputation: 22493

public class MyOnItemSelectedListener implements OnItemSelectedListener   {

  public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)  {                   

     TextView tv = new TextView(this);
     tv.setText(parent.getItemAtPosition(pos).toString()); 
  }
  public void onNothingSelected(AdapterView parent)  {
     // Do nothing.
  }
}

Upvotes: 1

Related Questions