大家好這是我的第一篇文章,所以請溫柔。即使我的android最終是完整的,所有我仍然很難不繼續調整我的程序,並添加到它只是爲了它的樂趣。它是一個簡單的程序,當你觸摸屏幕時,屏幕上的角色會用振動匹配的兩種方式中的一種來笑。它很好地工作,但當我的老師(當時處於一種惡劣的情緒)去測試它時,他幾乎按鈕上的東西使得每按鈕按下一次,我們不得不像15笑一樣坐下來,然後才能夠用手機做更多事情。我想要做的只是一個觸摸事件計數,直到第一個事件完成。它是一個簡單的觸摸事件,帶有一對嵌套的if語句。我如何防止我的程序排隊按鈕
public boolean onTouch(final View v, MotionEvent m)
{
v.setBackgroundResource(R.drawable.laughing);//changes the image to the laughing monkey
if (m.getAction() == MotionEvent.ACTION_DOWN)
{
if (timesTouched != I) //checks to see if the touch amount is not equal to the random number
{
if(laughter != 0)
{
sp.play(laughter, 1, 1, 1, 0, 1);//plays the loaded sound when the screen is pressed
//vib.vibrate(900);
}
Time = 900;
timesTouched++;
intDelay = 1;
if(vibon == 1)
{
vib.vibrate(Time);
}
}
else if (timesTouched == I)//checks to see if the touch amount is the same as the random number
{
if(laughter != 0)
{
sp.play(laughFit, 1, 1, 1, 0, 1);//plays the loaded sound when the screen is pressed
}
Time = 6000;
timesTouched = 0;
intDelay = 1;
if(vibon == 1)
{
vib.vibrate(laugh, -1);
}
}
}
else if((m.getAction() == MotionEvent.ACTION_UP) && (intDelay == 1))
{
try {
Thread.sleep(Time);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
v.setBackgroundResource(R.drawable.normal) ;//returns the image to the normal looking monkey
intDelay = 0;
}
return true;
}
}
睡眠計時器用來防止背景圖像在笑聲結束之前回到默認值。我確實試圖讓我的老師幫忙,但他只是一個迅速的替代品,在今年年初開始教書之前甚至從未接觸過Android設備。請任何幫助,你可以提供非常感謝,因爲到目前爲止,我不得不在Google搜索的幫助下自我介紹這些東西。
謝謝你一堆!
謝謝我沒有很多線程的經驗,所以我將不得不閱讀和研究,以瞭解更多感謝您的鏈接,讓我開始。如果任何人有任何想法,我很樂意閱讀它們。 – plasticmonkey007
您通常不希望阻塞在UI線程中運行的項目(即使是按鈕)。相反,這些阻止項目應該在一個單獨的線程中,因此它可以獨立運行而無需等待另一個線程。一旦你弄清楚了,這很容易。祝你好運。 – methodin