在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.
} }
答案 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())