0

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);
}
4

2 に答える 2

1

すでに文字列のリストがあるため、アダプター/listView を通過する必要はありません。

変化する

String info =  wordsList.getItemAtPosition(0).toString();

String info =  matches.get(0);

リストの最初のアイテムを取得します。これは、あなたがやろうとしていることだと私は理解しています。

于 2013-06-19T16:32:04.260 に答える
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();

            }
于 2013-06-19T16:29:45.013 に答える