2011-11-24 36 views
0

問題如上。如何在單擊TextView時激活文本到語音?

場景:我以編程方式創建了帶有文本視圖的表格行。當我點擊textview時,我想允許文本到語音轉換。有一些不使用listview的原因。我試圖使用按鈕更容易使用,但是我創建的按鈕總是超出了所給的維度。所以,我想用textview來激活TTS。

我該怎麼做?

我嘗試使用

​​

我使用for循環的,所以它會創造每收集數據的錶行。問題是,它要求「我」是最終的。當我做到最後,我不能使用i ++。

請大家幫忙。謝謝很多=)

回答

0

嘗試在你的班級申報你的int i;。我相信這會幫助你避免使用最終修飾符。

public class MyActivity extends Activity { 

int i; 

    public void onCreate(Bundle savedInstanceState) { 
     ... 
     tv.setOnClickListener(new OnClickListener() 
      { 
       public void OnClick(View v){ 
        String speech = list.get(i).toString(); 
        tts.speak(speech,TextToSpeech.QUEUE_FLUSH,null); 
       } 
     }); 
     ... 
    } 


} 

或將此代碼String speech = list.get(i).toString(); tts.speak(speech,TextToSpeech.QUEUE_FLUSH,null);轉換爲另一種方法。例如:

tv.setOnClickListener(new OnClickListener() 
    { 
    public void OnClick(View v){ 
     speak(); 
    } 
    }); 

__

public void speak(){ 
    String speech = list.get(i).toString(); 
    tts.speak(speech,TextToSpeech.QUEUE_FLUSH,null); 
}