嗨我有一些問題,以顯示吐司消息,實際上是程序崩潰說,我想顯示吐司在錯誤的線程或類似的東西。由於Android吐司消息在錯誤的線程中啓動的錯誤
我一直在閱讀有關該主題的一些其他問題,我認爲soultions是像使用的處理程序與UI到comunicate,但不知道怎麼辦呢,能和我的例子/教程的任何一個份額如何從代碼的任何部分啓動敬酒信息?
比如我想是這樣的:有問題的線**之間]
public class SamplesTiming extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_samples_timing);
...
}
private void setButtonHandlers() {
((Button)findViewById(R.id.btnStart)).setOnClickListener(btnClick);
((Button)findViewById(R.id.btnStop)).setOnClickListener(btnClick);
}
private void enableButton(int id,boolean isEnable){
((Button)findViewById(id)).setEnabled(isEnable);
}
private void enableButtons(boolean isRecording) {
enableButton(R.id.btnStart,!isRecording);
enableButton(R.id.btnStop,isRecording);
}
private void startRecording(){
...
recordingThread = new Thread(new Runnable() {
//@Override
public void run() {
writeAudioDataToFile();
}
},"AudioRecorder Thread");
recordingThread.start();
}
private void writeAudioDataToFile(){
...
while(isRecording){
...
read = recorder.read(data, 0, bufferSize);
if(condition) **Toast.makeText(getApplicationContext(),
"it happen", Toast.LENGTH_LONG).show();**
...
}
}
private void stopRecording(){
if(null != recorder){
isRecording = false;
recorder.stop();
recorder.release();
recorder = null;
recordingThread = null;
}
}
private View.OnClickListener btnClick = new View.OnClickListener() {
// @Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btnStart:{
enableButtons(true);
startRecording();
break;
}
case R.id.btnStop:{
enableButtons(false);
stopRecording();
break;
}
}
}
};
}
非常感謝您的寶貴時間
「或類似的東西」是一個非常特殊的例外,你會通過簡單的google搜索找到解決方案「類似的事情」(第一個答案) – njzk2
如果你是一個真正有用的成員,希望你贏得獎勵給這裏最好笑的成員。祝你好運;) –
只是想指出你的問題沒有包含很多信息來幫助解決問題。還試圖說,我不明白爲什麼你會問「這樣的事情」,而不是發佈完整的錯誤。 – njzk2