これは私のMainActivityです。私は "ロール"ボタンを押して "ロール"ボタンを押すと、私のサイクルが終了するまで変化し、その変化を見たいと思っています。しかし、コードを実行してボタンを押すと、最終結果だけが表示されます。 "TimeUnit"の遅延を増やそうと試みましたが、アプリの速度が遅くなるだけで、 "ローリング"することはありません。どこが間違っていて、ライト方向のコードなのですか、または何か重要なものがありませんか?私はまだAndroidのコーディングを学んでいます:)Android Javaダイスロールアプリはdinamycalyを変更していません
package com.example.rado.diceroller;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.Random;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myButtonListenerMethod();
}
public void myButtonListenerMethod() {
Button button = (Button) findViewById(R.id.rollButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < 3; i++) {
try {
Random rand = new Random();
int rollResult = rand.nextInt(6) + 1;
TextView diceResult = (TextView) findViewById(R.id.rollResult);
diceResult.setText(Integer.toString(rollResult));
ImageView img = (ImageView) findViewById(R.id.diceImage);
TimeUnit.MILLISECONDS.sleep(10);
switch (rollResult) {
case 1:
img.setImageResource(R.drawable.dice1);
break;
case 2:
img.setImageResource(R.drawable.dice2);
break;
case 3:
img.setImageResource(R.drawable.dice3);
break;
case 4:
img.setImageResource(R.drawable.dice4);
break;
case 5:
img.setImageResource(R.drawable.dice5);
break;
case 6:
img.setImageResource(R.drawable.dice6);
break;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
}
}
ローリングアニメーションを見たいと思っていますか? –
ちょうど "ロール"を打つ前に私が与えた遅れで正確に、あるいは少数の絵が変化しています。 – Rado
あなたはスリープ時間を長くする必要があります。変化が見られないほど速い10ミリ秒です。約120ミリ秒で目立つ差が出るかもしれません。また、デバイスの能力によって決まります –