当前位置: 首页 > 编程语言 > C#

语音识别android应用程序分享

时间:2023-04-10 18:56:37 C#

语音识别android应用程序当我按下说话按钮并在列表视图上打印结果时,我的应用程序识别出语音,当我点击结果时,我希望它打印在敬酒......问题是当我再次点击按钮时它会打印新文本和旧文本,就像我第一次得到:(不,现在,知道)我点击否,它说“现在”,第二个它给出的时间(谷歌,确定,谷歌)我按确定,它打印“现在”然后“确定”我认为它记得整个列表视图,你能帮我解决这个问题吗,这是代码:if(resultCode==结果.Ok){IListmatches=data.GetStringArrayListExtra(RecognizerIntent.ExtraResults);voice_list.Adapter=newArrayAdapter(this,Android.Resource.Layout.SimpleListItem1,matches);voice_list.ItemClick+=delegate(objectsender,Android.Widget.AdapterView.ItemClickEventArgse){vart=matches[e.Position];字符串TextToTranslate=t.ToString();Android.Widget.Toast.MakeText(this,TextToTranslate,Android.Widget.ToastLength.Long).Show();};这是因为每次处理结果时都会添加一个事件处理程序。因此,第二次处理语音结果时,将另一个事件处理程序添加到ItemClick事件。当您单击一个项目时,这会导致2个事件处理程序。尝试移动这部分。但请记住,如果将它移至OnStart,当您从另一个屏幕返回时它也会被调用。不确定为什么要再次显示第一个,但也许您必须在更改后向适配器触发NotifyDataSetChanged。我个人更喜欢为BaseAdapter扩展的适配器创建一个新类,您将在其中处理包含项目和项目的列表。(例:ListView的自定义ListAdapter)以上就是C#学习教程:语音识别android应用分享的全部内容,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: