2011-11-24 4 views
0

질문은 위와 같습니다.TextView를 클릭하면 TTS (Text-To-Speech)를 활성화하는 방법은 무엇입니까?

시나리오 : 프로그래밍 방식으로 테이블 행을 텍스트보기로 만들었습니다. 나는 textview를 클릭 할 때 text-to-speech를 허용하고 싶었다. listview를 사용하지 않는 이유가 있습니다. 나는 사용하기 쉬운 버튼을 사용하려고했지만, 내가 만든 버튼은 항상 그 차원에서 벗어났다. 그래서 TTS를 활성화하기 위해 textview를 사용하고 싶습니다.

어떻게하면됩니까?

제가

그것을 수집 모든 데이터 테이블 행을 만들 것이다 그래서, 루프에 대한 그것의 용도

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

사용하여 시도. 문제는 그것이 "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); 
} 

__ : 예를 들어,
관련 문제