在Mainactive类中,我无法访问gamePanel变量或对象。在程序中稍后的其他类中,它运行良好。我遇到了以下错误:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.example.camerademo3/com.example.camerademo3.MainActivity}:
Attempt to read from field 'java.util.ArrayList com.example.camerademo3.GamePanel.images2' on a null object reference
类主要活动:
public class MainActivity extends Activity {
GamePanel gamePanel;
@Override
protected void onCreate(Bundle savedInstanceState) {
//some code
setContentView(new GamePanel(this));
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 100);
//some code
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//some code
if (requestCode == 100) {
Bitmap captureImage = (Bitmap) data.getExtras().get("data");
gamePanel.images.add(captureImage); // no access here
}
//some code
}
}
类游戏面板:
public class GamePanel extends SurfaceView implements SurfaceHolder.Callback {
//some code
protected ArrayList<Bitmap> images;
public GamePanel(Context context) {
super(context);
images = new ArrayList<>();
}
//some code
}
你没有把你的游戏面板存放在任何地方。我想你想这样做
gamePanel = new GamePanel(this)
setContentView(gamePanel)
否则,当你引用gamePanel时,它将为空,因为你从未设置它。
问题内容: 我希望我说的是我的话。我有这样的课: 和其他这样的类: 这是从其他类(在该示例代码中)访问和更改其值的正确方法吗,是否有更好或更合适的解决方案?请注意,这是具有方法的类。 问题答案: 从另一个类访问私有变量的正确方法是使用getter和setter方法。否则,您应该将该变量公开。 那是: 但是,直接返回私有数据是一种不好的做法- 允许外部代码修改您的私有状态。通常,您应该返回私有数据的
问题内容: 我的班级有一个名为DataStorage的哈希图: 如何在另一个类中访问此HashMap中的数据? 问题答案: 将HashMap创建为实例变量,并提供一种将其访问类API的方法:
我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?
问题内容: 我有这个课: 有什么方法可以使用自变量访问静态变量?我宁愿这样做,因为长名称不可读。 问题答案: 使用。这对新旧样式类均适用。
我正在尝试将一个字符串从topicRNG加载到changeXML。我以前在类之间加载过变量,但现在无法运行 首先,我有我的代码,我试图加载它。包装试验; 然后是我试图加载的代码, 当我从GenreDefiner加载int时,我把它设置成这样, 我尝试过“将公共静态字符串放入topicFinal”,但它给了我一个错误,当我将它放在“公共静态void main(String args[]){}”之外时
问题内容: 我从很多地方都听说过,全局变量本来就是讨厌和邪恶的,但是当使用一些非面向对象的Javascript时,我看不到如何避免它们。说我有一个函数,它使用复杂的算法使用随机数和填充物来生成数字,但是我需要在其他函数(回调或其他函数)中继续使用该特定数,因此不能成为同一函数的一部分。 如果最初生成的数字是局部变量,则无法从那里访问它。如果函数是对象方法,我可以将数字设为属性,但是它们不是属性,并