0
OnItemClick 내부에서 두 가지 사이의 지연이 필요하지만 실제로는 아무 일도 일어나지 않습니다. 만약 내가 그것을 실행하고 클릭하면 모든 것이 잠자기가 설정되어있는 한 멈추고 동시에 사진이 바뀝니다. 나는 첫 사진을 바꾸고 싶습니다. 잠자기 후 다른 것을 바꾸십시오. 당신이 Thread.sleep
UI 트레드가 잠 전화 아무것도 화면에 변화 없을 때잠자기 내부 onItemClick
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// clicks=0;
int row_no = position/3;
int col_no = position % 3;
if(clicks==0)
{
((ImageView) gv.getChildAt(position)).setImageResource(R.drawable.kor);
matrix[row_no][col_no]=1;
// clicks++;
}
if(gepLephet())
{
try {
Thread.sleep(400);
} catch (InterruptedException e) {
e.printStackTrace();
}
finally{
int posAi=gep();
((ImageView) gv.getChildAt(posAi)).setImageResource(R.drawable.iksz);
matrix[posAi/3][posAi%3]=2;
}
// Toast.makeText(getApplicationContext(),"Random: "+posAi, Toast.LENGTH_SHORT).show();
}
/* else if(clicks==1)
{
((ImageView) gv.getChildAt(position)).setImageResource(R.drawable.iksz);
matrix[row_no][col_no]=2;
clicks--;
}*/
// Toast.makeText(getApplicationContext(), "position: " + position +"Random: "+posAi, Toast.LENGTH_SHORT).show();
// if(matrix[0][0]==matrix[0][1]&&matrix[0][1]==matrix[0][2]){text.setText("WIN");}
if(isWinO())
{
text.setText("O WIN");
}
if(isWinX())
{
text.setText("X WIN");
}
}
;
});
당신은 다른 스레드가 필요합니다 - 'Timer'을 UI 스레드를 업데이트하고 http://stackoverflow.com/a/14088164/1256219 – brandall
지연이 답을 체크 아웃 사용자를하지 않는,'postDelayed'를 사용 – Budius