在Android Studio中,您可以编写自己的onClick函数,如下所示:

btn.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        // do something
    }
});


我想做类似的事情。我有一个内部有数组的对象,通过调用一个函数,我想访问和修改该数组。

我的原型:

object.useForProblems(new SomeInterface(){
    @Override
    start(){
        int[][] a = this.getArray();
        // do something with array
    }
});


我知道我的原型无法使用,因为该接口没有数组,但是我想表明我的意图。

最佳答案

首先,创建一个在构造过程中了解数组的实现(或稍后通过自定义setter方法)

public class ArrayHolder implements SomeInterface {
    private final int[][] a;

    public ArrayHolder(int[][] a) {
        this.a = a;
    }

    @Override
    void start(){
        // do something with array
        System.out.println(a);
    }
}


然后

int[][] arrayHolder = ... // obtained from somewhere
ArrayHolder holder = new ArrayHolder(array);

object.useForProblems(arrayHolder);

09-11 05:25