2012-07-06 83 views
0

我有一个有2个按钮(开始,结束)的活动,当用户按下开始时,活动将触发记录语音的服务并在用户按下结束按钮时保存它。为了确保用户知道他正在录制,我在活动用户界面上添加了一个textview,并希望该服务类可以将其更改为类似于“正在录制...”的onStartCommand()和“已完成记录“在onDestory()上。但由于Service类不支持findviewbyId(),我该如何解决这个问题?如何在服务中设置textview?

回答

0

来完成,这将是使用Toast通知,它可以创建并从这里以服务为显示最简单的方法是在敬酒的文档:http://developer.android.com/guide/topics/ui/notifiers/toasts.html

根据该网页,这个例子说明了你需要的一切为大多数敬酒通知。你应该很少需要别的东西:

Context context = getApplicationContext(); 
CharSequence text = "Hello toast!"; 
int duration = Toast.LENGTH_SHORT; 

Toast toast = Toast.makeText(context, text, duration); 
toast.show(); 
+0

关于使用吐司的问题是,它不会在页面上持续。 例如,如果用户按下按钮开始,然后去做其他的东西一段时间,他回来后,他可能忘记,如果应用程序仍在录制,因为祝酒已经消失 – 2012-07-06 23:00:42

+0

这是真的。对不起,从你的第一个问题,我认为你只是想显示一个快速的消息给用户。但在这种情况下,你有没有想过使用状态栏通知? http://developer.android.com/guide/topics/ui/notifiers/notifications.html 这样,关于应用程序当前活动的消息就会在那个下拉状态栏菜单中,当用户会导航回您的应用程序,因此无论如何它都可能成为通知的最佳位置,而且这是另一种可能来自服务的方法,无需查看视图。 – HouseofLeaves 2012-07-06 23:36:02

+1

对,我可以试试那个,谢谢! – 2012-07-07 00:00:50