如何在Android中输出文本结果?

时间:2011-11-21 10:09:24

标签: java android android-layout android-widget

在Android网站上,我发现了一篇关于小部件的文章,类似于用于选择项目的下拉列表。 (以下是该站点的链接;它显示了所有代码)。

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

选择行星后,它会使用以下代码显示消息。

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

但是这条消息“Planet is Selected”只会显示约3秒然后消失。您能否告诉我如何让消息在屏幕上停留更长时间。或者我如何将“Planet is Selected”消息作为文本布局输出到屏幕中(这样它将永久保留在屏幕上,直到我从列表中选择另一个项目)?我如何使用addView(tv)代替setContentView(tv)任何帮助将不胜感激。

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

3 个答案:

答案 0 :(得分:3)

如果您希望它永久保留在屏幕上,为什么不使用TextView并将您的值设置为而不是Toast。

如果您无法使用TextView有任何问题,即未定义。你应该看一下textview documentation,因为它在那里有很好的描述。

答案 1 :(得分:1)

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.
  }
}

答案 2 :(得分:0)

第三个参数Toast.LENGTH_LONG是时间。所以你可以设置任何整数值(不确定秒或毫秒),.然后在特定事件上调用toast.hide(); 吐司只是展示消息的好选择。所以尽可能使用textView

使用活动上下文创建TextView:

TextView tv = new TextView(ActrivityName.this)

否则,如果不是活动

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