Java 更新按钮在ArrayList中的位置

Java 更新按钮在ArrayList中的位置,java,android,button,onclicklistener,Java,Android,Button,Onclicklistener,我有4个整数(randomInt1、randomInt2等)用此方法更新(该方法的内部并不重要,它给出了0到3之间的随机整数): updateInts() 我在ArrayList中有4个按钮,每个按钮都有一个侦听器。我希望每次点击一个按钮,所有的按钮都会得到一个新的随机位置。问题是它们保持初始位置,而没有更新 updateInts(); buttons[randomInt1].setOnClickListener(new View.OnClickListener() {

我有4个整数(randomInt1、randomInt2等)用此方法更新(该方法的内部并不重要,它给出了0到3之间的随机整数):

updateInts()

我在ArrayList中有4个按钮,每个按钮都有一个侦听器。我希望每次点击一个按钮,所有的按钮都会得到一个新的随机位置。问题是它们保持初始位置,而没有更新

updateInts();

buttons[randomInt1].setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    updateInts();
                    // do stuff
                }
            });

        buttons[randomInt2].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                updateInts();
            }
        });

        buttons[randomInt3].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                updateInts();
            }
        });

        buttons[randomInt4].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                updateInts();
            }
        });
如何更新我的按钮位置


附言:我的方法updateInts()工作得很好。当我调用INT时,INT会被更新。问题是我的按钮索引没有更新。

我们不能说,直到我们知道
updateInts
方法…你要么1)重新绘制视图,要么2)简单地更改文本或按钮上的任何内容你说的“它们保持初始位置而不被更新”是什么意思?正如我看到的,当点击按钮时,4个随机整数被更新。你还想更新什么?可能存在randomInt1==randomInt2的情况,或者类似的情况,这意味着您可能会将OnClickListener设置为同一按钮两次或多次。它们在侦听器内部更新,但不会在“外部”更新。我的意思是“按钮[randomInt1]”总是保持不变。