亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

第二個活動中的輸出不起作用

第二個活動中的輸出不起作用

DIEA 2021-04-07 21:18:44
我在Android Studio上進行語音識別。MainActivity.java:public class MainActivity extends AppCompatActivity {    private TextView voiceInput;    private TextView speakButton;    private final int REQ_CODE_SPEECH_INPUT = 100;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        voiceInput = (TextView) findViewById(R.id.voiceInput);        speakButton = (TextView) findViewById(R.id.btnSpeak);        speakButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                askSpeechInput();            }        });    }    // Showing google speech input dialog    private void askSpeechInput() {        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());        intent.putExtra(RecognizerIntent.EXTRA_PROMPT,                "Hi speak something");        try {            startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);        } catch (ActivityNotFoundException a) {        }    }    // Receiving speech input    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);        switch (requestCode) {            case REQ_CODE_SPEECH_INPUT: {                if (resultCode == RESULT_OK && null != data) {                    ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);                    voiceInput.setText(result.get(0));                }                break;            }        }    }}我的問題現在,我創建了第二個活動,并希望在那里接收輸出,因此我在上面復制了這些代碼塊并將其粘貼。它沒有用。如何讓口頭輸入的輸出出現在第二個活動中?如果您需要更多信息,請讓我知道,對于愚蠢的問題,我們感到抱歉,我認為解決方案非常簡單,但我無法對其進行罰款!
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

You can pass an ArrayList<E> to Your SecondActivity.

例子:


ArrayList<String> yourList = new ArrayList<String>();

intent.putExtra("yourlist", yourList);

在另一個活動中:


ArrayList<String> yourList = (ArrayList<String>) 

getIntent().getSerializableExtra("yourlist");


查看完整回答
反對 回復 2021-04-18
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

嘗試將結果數據發送到第二個活動中,如下面的代碼。


 @Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);


    switch (requestCode) {

        case REQ_CODE_SPEECH_INPUT: {

            if (resultCode == RESULT_OK && null != data) {


                ArrayList<String> result = data

                        .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

                voiceInput.setText(result.get(0));

                Intent intent=new Intent(this,SecondActivity.class);

                intent.putStringArrayListExtra("result",result);

                startActivity(intent);

            }

            break;

        }


    }

}

在第二行的onCreate方法中進行第二次活動以獲取結果。


result_list = getIntent().getStringArrayListExtra("result");

之后,result_list數據將顯示到textview和其他視圖中。


確保兩個活動都定義到android清單文件中。


查看完整回答
反對 回復 2021-04-18
  • 2 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號