ユーザが5回クリックするたびにループが5回あり、親ビューに追加されます。しかし、ボタンを連続的にクリックすると(previosが見えなくなる前のように)、temp値が0から4に上がり、次のように進みます。どのようにしてハンドラ内の一時的な値(静的変数)をリセットできますか?アンドロイドの投稿遅延ハンドラ内で静的変数をリセットする方法
// start of program.
static int temp = 0;
// button on click event
temp = 0;
for(k = 0; k < 5; k++){
new Handler().postDelayed(new Runnable() {
public void run() {
Animation a1 = new AlphaAnimation(0.00f, 1.00f);
a1.setDuration(350);
a1.setFillAfter(true);
TextView tv = new TextView(Main.this);
tv.setVisibility(View.INVISIBLE);
// tv.setText(emotionnames.get(temp)); //crashing here. index is 5 size is 5
Log.i("temp", Integer.toString(temp));
tv.setTextSize(32);
tv.setPadding(10, 0, 10, 0);
tv.clearAnimation();
tv.startAnimation(a1);
lhsv.addView(tv);
temp++;
}
}, 500 + 500 * k);
}
リセットしたらどういう意味ですか? – Altaaf
0 temp = 0にするのが好きです – Programmer
あなたが望むものは100%ではありませんが、私の例を変更して、可能な方法を示すようにしました!幸運 – Entreco