Java 如何在类中启动视图,然后在另一个活动中调用它?
基本上,我正在为android编写一个reversi游戏,我有一个singlePlayerGame活动和一个Position类。我试图使用一组图像视图来设置棋盘,这些图像视图充当代表棋盘方块的按钮。问题是当按钮在Position类中初始化时,它需要一个上下文,但不允许我使用getApplicationContext()Java 如何在类中启动视图,然后在另一个活动中调用它?,java,android,arrays,class,android-activity,Java,Android,Arrays,Class,Android Activity,基本上,我正在为android编写一个reversi游戏,我有一个singlePlayerGame活动和一个Position类。我试图使用一组图像视图来设置棋盘,这些图像视图充当代表棋盘方块的按钮。问题是当按钮在Position类中初始化时,它需要一个上下文,但不允许我使用getApplicationContext() 非常感谢您的帮助,提前谢谢 为接受上下文的Position类创建一个构造函数。创建Position类的实例时,在上下文中传递。使用该上下文创建按钮。请记住,如果进行方向更改或下次
非常感谢您的帮助,提前谢谢 为接受
上下文的Position类创建一个构造函数。创建Position类的实例时,在上下文中传递。使用该上下文创建按钮。请记住,如果进行方向更改或下次重新启动活动(无论如何,您需要使用imageview
执行此操作),则必须将上下文更改为新上下文。为接受上下文的Position类创建一个构造函数。创建Position类的实例时,在上下文中传递。使用该上下文创建按钮。请记住,如果进行方向更改或下次重新启动活动(无论如何,您需要使用ImageViews
执行此操作),则必须将上下文更改为新上下文。如果我理解正确,您正在尝试将板单元作为ImageViews/按钮保存在Position类中。要实例化它们,您需要上下文,通常在活动中,我们通过调用getApplicationContext()获得上下文。如果是这样,我觉得将上下文作为构造函数参数传递是最简单的方法,然后在Position类中构造图像/按钮时使用相同的方法。如果我理解正确,您正在尝试将板单元作为ImageView/按钮保存在Position类中。要实例化它们,您需要上下文,通常在活动中,我们通过调用getApplicationContext()获得上下文。如果是这样,我觉得将上下文作为构造函数参数传递是最简单的方法,然后在Position类中构造图像/按钮时使用相同的方法。@hazard1994:您可以像这样将上下文传递给Position类构造函数:
class Position{
Context myContext;
//Constructor
public Position( Context context){
myContext = context;
}
//Then you can do anything with myContext variable
}
在活动中初始定位对象时,可以向其传递上下文
Position pos = new Position(getApplicationContext());
如果使用数组位置,则必须初始化所有对象,如下所示:
Position[][] pos = new Position[8][8];
//initial for all objects in array
for(int i = 0; i < 8; i++)
for(int j = 0; j < 8; j++)
pos[i][j] = new Position(getApplicationContext());
Position[][]pos=新职位[8][8];
//数组中所有对象的初始值
对于(int i=0;i<8;i++)
对于(int j=0;j<8;j++)
pos[i][j]=新位置(getApplicationContext());
@hazard1994:您可以像这样将上下文传递给Position类构造函数:
class Position{
Context myContext;
//Constructor
public Position( Context context){
myContext = context;
}
//Then you can do anything with myContext variable
}
在活动中初始定位对象时,可以向其传递上下文
Position pos = new Position(getApplicationContext());
如果使用数组位置,则必须初始化所有对象,如下所示:
Position[][] pos = new Position[8][8];
//initial for all objects in array
for(int i = 0; i < 8; i++)
for(int j = 0; j < 8; j++)
pos[i][j] = new Position(getApplicationContext());
Position[][]pos=新职位[8][8];
//数组中所有对象的初始值
对于(int i=0;i<8;i++)
对于(int j=0;j<8;j++)
pos[i][j]=新位置(getApplicationContext());
您是否尝试过将上下文传递给Position类构造函数?您是否尝试过将上下文传递给Position类构造函数?感谢quck的帮助,但是如何传递上下文?我在singlePlayerGame活动中设置了一系列新的职位,最终职位[][]board=新职位[8][8];R4j有一个例子<代码>上下文
是一个可以像其他对象一样传递给其他对象的对象。你不需要做任何有趣的安卓操作。您让构造函数接受它,以帮助确保您的位置
对象始终有一个quck帮助,但是如何在上下文中传递?我在singlePlayerGame活动中设置了一系列新的职位,最终职位[][]board=新职位[8][8];R4j有一个例子<代码>上下文
是一个可以像其他对象一样传递给其他对象的对象。你不需要做任何有趣的安卓操作。您让构造函数接受它,以帮助确保您的位置
对象始终具有oneAh!我在程序中还有这个初始化循环,但它只是pos[I][j]=new Position();啊!!我在程序中还有这个初始化循环,但它只是pos[I][j]=new Position();