在android eclipse中从edittext检索文本到数组字符串

时间:2012-07-16 18:29:15

标签: android

我正在制作文字到语音转换应用。我想从用户处获取文本并将其更改为语音。当我输入文本硬编码。我的应用程序运行完美。

static final String[] texts = {"what's up dude"};
TextToSpeech tts;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    Button b = (Button)findViewById(R.id.btexttovoice);
    b.setOnClickListener(this);
    tts = new TextToSpeech(textvoice.this,new TextToSpeech.OnInitListener(){

        @Override
        public void onInit(int status) {
            // TODO Auto-generated method stub
            if(status!= TextToSpeech.ERROR)
            {
                tts.setLanguage(Locale.US);

            }
            }
            });
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    if(tts!= null)
    {
        tts.stop();
        tts.shutdown();
    }
    super.onPause();
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    Random r = new Random();
    String random = texts[r.nextInt(3)];
    tts.speak(random, TextToSpeech.QUEUE_FLUSH, null);
}

} 它工作得很好,但如果我想通过编辑文本从用户那里获取输入 我做了以下更改:

String[] texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();

这里我得到错误,因为文本是数组类型。如何从编辑文本到字符串数组类型获取文本? 如果我这样做没有数组字符串

String texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();

我没有错误,但我没有找到所需的输出。实际上没有收到任何声音。

这似乎是一个简单的问题,但我被困在这里。请帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

String[] texts = new String[3];
text = (EditText)findViewById(R.id.ttexttovoice);
texts[0] = text.getText().toString();