Android 使用方法初始化视图

Android 使用方法初始化视图,android,view,initialization,Android,View,Initialization,我想知道是否有可能在类中创建一个方法来初始化我的所有视图 我试过了,但没用: public class MyInitialize extends View{ public MyInitialize(Context context) { super(context); } public void iniViewByID(View view[], int id[]){ for(int x=0; x<view.length; x+

我想知道是否有可能在类中创建一个方法来初始化我的所有视图

我试过了,但没用:

public class MyInitialize extends View{


    public MyInitialize(Context context) {
        super(context);

    }

    public void iniViewByID(View view[], int id[]){

        for(int x=0; x<view.length; x++){


            view[x] = findViewById(id[x]);
        }

    }
但这对我不起作用,所以我不知道这是否是不可能的

但这对我不起作用,所以我不知道这是否是不可能的

编辑:

MyInitialize.java

public class MyInitialize extends View {


    public MyInitialize(Context context) {
        super(context);

    }

    public View[] iniViewByID(Context mContext, View view[], int id[]) {

        for (int x = 0; x < view.length; x++) {


            view[x] = ((Activity)mContext).findViewById(id[x]);
        }
        return view;

    }
}

不需要创建另一个类来初始化视图。只需在MainActivity类中创建一个函数,并在onCreate方法中调用该函数。然后在创建的函数中初始化视图


您还可以检查API以轻松初始化视图。

只有在同一活动中创建了该方法时,它才会这样工作,如果我创建了一个单独的类,那么它将永远不会工作。您可以尝试它,我将更新我的帖子。是否要从其他活动访问这些视图?否,我只想创建一个单独的类,其中包括这些方法,以使我的onCreate更干净检查我的更新,您需要指定哪个
上下文
:)哇,有趣的是,我首先创建了一个mContext,然后我忘了使用它,然后从我的类中删除了它lol,谢谢保罗,回答得好!
public class MyInitialize extends View {


    public MyInitialize(Context context) {
        super(context);

    }

    public View[] iniViewByID(Context mContext, View view[], int id[]) {

        for (int x = 0; x < view.length; x++) {


            view[x] = ((Activity)mContext).findViewById(id[x]);
        }
        return view;

    }
}
    TextView txtview = null;
    Button btn = null;

    int myIDs[] = new int[]{R.id.btn, R.id.txtview};
    View myViews[] = new MyInitialize(this).iniViewByID(this, new View[]{btn, txtview}, myIDs);

    ((Button) myViews[0]).setText("Worked");
    ((TextView) myViews[1]).setText("Worked");