返回数组onClick的下一个元素

时间:2017-01-26 16:02:28

标签: android

这是我的代码:

if(isset($_POST['formvariable'])) //Form has been submitted

我想要做的是每次onClick事件发生时它都会返回数组的下一个元素。上面的代码显然是错误的,因为它创建了int i并将其赋值为0,并且每次按下按钮都会这样做。所以我想我应该把它放在main方法中,但它必须是最终的,每次按下按钮时我都无法改变它的值。我怎么能这样做,所以每次按下按钮都不会重置整数?

1 个答案:

答案 0 :(得分:0)

将您的int i声明为您的班级/活动的字段变量。那不一定是最终的。当它达到13时,将其值重置为零。

public class YourActivity extends Activity {

    private int i = 0;

    //rest of your code ....

}

你的代码应该是这样的,

final ArrayList<Integer> number1 = new ArrayList<Integer>();
    for (int i = 0; i <= 13; ++i)
        number1.add(i);
    Collections.shuffle(number1);

attack.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final ImageView img = (ImageView) view.findViewById(R.id.randomOp);                
            final String str = "img" + number1.get(i);
            i++;
            if (i == 13){
                Collections.shuffle(number1);
                i = 0;
            }                
            img.setImageDrawable(getResources().getDrawable(getResourceID(str, "drawable", getContext())));
        }
    });