我想在Android ListView中获取特定项目。应从语音识别器功能填充ListView。如何在不点击自动的情况下执行此操作?我尝试了一些但没有工作。任何帮助将不胜感激!
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
{
// Populate the wordsList with the String values the recognition engine thought it heard
ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
wordsList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
matches));
String info = wordsList.getItemAtPosition(0).toString();
if(info.indexOf("Hello")>0){
Toast.makeText(getBaseContext(),"OK", Toast.LENGTH_LONG).show();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
答案 0 :(得分:1)
无需通过适配器/ listView,因为您已经有一个字符串列表。
更改
String info = wordsList.getItemAtPosition(0).toString();
要
String info = matches.get(0);
它将获得列表中的第一项,这是我理解你要做的事情。
答案 1 :(得分:0)
不测试,但它可以工作
ArrayAdapter<String> ad = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
matches));
String info = ad.getItemAtPosition(0).toString();
if(info.indexOf("Hello")>0){
Toast.makeText(getBaseContext(),"OK", Toast.LENGTH_LONG).show();
}