我正在研究Android的內存遊戲,並遇到問題。當用戶點擊第二個圖像時 - 如果圖像不一樣,我想讓第二個圖像顯示1,2秒。Thread.Sleep()Android UI
我試過的是睡1-2秒。第二張圖像後的UI線程被激活 - 但這似乎不起作用 - 第二張圖像似乎沒有顯示! (只有第一個圖像的顯示)
這裏是我的代碼:
public void whenTapedImage(View v, int position)
{
i++;
ImageView imgV=(ImageView)v;
if(i%2!=0)
{
firstClick=position;
imgV.setImageResource(im.images.get(firstClick));
}
else
{
secondClick=position;
imgV.setImageResource(im.images.get(secondClick));
try {
Thread.currentThread().sleep(1000);
if(!(im.images.get(firstClick).equals(im.images.get(secondClick))))
{
Toast.makeText(easyGame.this, "Try Again!", Toast.LENGTH_SHORT).show();
im.notifyDataSetChanged();
gridview.setAdapter(im);
gridview.invalidate();
aux=player1Turn;
player1Turn=player2Turn;
player2Turn=aux;
}
else{
done=done+2;
ImageAdapter.keepVisibleViews.add(firstClick);
ImageAdapter.keepVisibleViews.add(secondClick);
if(player1Turn==true)
{
player1Score++;
String score=Integer.toString(player1Score);
score1.setText(score);
}
if(player2Turn==true)
{
player2Score++;
String score=Integer.toString(player2Score);
score2.setText(score);
}
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我在做什麼錯?
'但是這似乎並沒有work.'這不是問一個問題的好方法如下。什麼對它不起作用? – Falmarri
@Falmarri - 我同意這不是一個很好的方式來問這個問題,但在這種情況下,問題的主體並不是那麼重要,因爲標題包括一些衆所周知的與android的事件驅動架構不兼容的東西UI。 –
相關http://stackoverflow.com/questions/10428726/waiting-in-android-app – Gray