如何才能在Android ListView中获取特定项?

时间:2013-06-19 16:26:23

标签: android listview

我想在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);
}

2 个答案:

答案 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();

            }