已更新: 我正在創建一個應用程序,其中onClickListener
用於將語音轉換爲文本並將文本輸入到List View
字段。同樣,一旦輸入,我想重新觸發語音選項,並將新文本輸入到另一個List View
字段,同時仍保留已填寫的所有其他List View
字段。如何在同一活動中多次調用onClick?
以下是Java文件的一部分用我想要回答的各種陳述來調用語音選項。最初提示出現在下一個完美的提示中,但它沒有將每個文本分配給相應的編輯文本字段。它只將語音記錄到最後提示的文本中。現在對這個線程一些幫助我的代碼更新到以下,其中checklv1
等對應唯一整數:
public void onClick(View v){
Intent i1 = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i1.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i1.putExtra(RecognizerIntent.EXTRA_PROMPT, "What is the current time?");
startActivityForResult(i1, check);
Intent i2 = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i2.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i2.putExtra(RecognizerIntent.EXTRA_PROMPT, "Is the status Confirmed or Unconfirmed?");
startActivityForResult(i2, checklv1);
Intent i3 = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i3.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i3.putExtra(RecognizerIntent.EXTRA_PROMPT, "What is the Temp?");
startActivityForResult(i3, checklv2);
}
下面的代碼部分顯示的文本分配給editText
場lv1
,lv2
和lv3
:
代碼現在已經取得進展,輸入語音到文本短語到每個list view
領域。然而,我唯一的問題是,lv3
包含正確的短語,lv1
也包含正確的短語,但lv2
是一個相同的短語lv1
當它應該是與lv2
對應的短語。最有可能在檢查任務中出現錯誤。
如果任何人都可以,請幫助我,我已經將不勝感激上面的代碼出錯
startIntent - > onActivityResult - > startIntent - > onActivityResult - > startIntent - > onActivityResult。不要忘記處理您保存的狀態。 –
你知道我應該把代碼放在startIntent,onActivityResult @Eugen Pechanec嗎? –
來吧,你可以找出自己。不要立即開始所有的語音識別,只有最後的請求才會得到兌現,就像您驗證一樣。而是開始第一個onClick。當結果成功返回時,啓動第二個,依此類推。 –