当我声明双变量时,后来尝试为它们赋值时,它说是unknown class。其次,从我创建的对象调用的任何方法调用都无法解析symbol。
我的代码:
私人双xCurrentPos,yCurrentPos;
私人ImageView测试=(ImageView)findViewById(R.id.square);xCurrentPos = test.getLeft();yCurrentPos = test.getTop();
这段代码说xCurrentPos和yCurrentPos都是未知类,并且无法解析getLeft或getTop。
任何帮助将不胜感激。 :)
最佳答案
您不能在类的上下文中分配变量。
据我所知,您正在做类似的事情,这给您您所描述的错误。
public class YourActivity extends Activity {
private double xCurrentPos, yCurrentPos;
private ImageView test = (ImageView) findViewById(R.id.square);
xCurrentPos = test.getLeft();
yCurrentPos = test.getTop();
...
}
您必须像这样声明它们来进行分配:
private int xCurrentPos= test.getLeft();
private int yCurrentPos = test.getTop();
或者,您可以在实际方法中进行分配。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
xCurrentPos = test.getLeft();
yCurrentPos = test.getTop();
}
其次,这样做:
private ImageView test = (ImageView) findViewById(R.id.square);
无论如何将不起作用,因为它将在
onCreate
之前初始化,因此test
为null。设置内容视图后,即使在
onCreate
中执行此操作也将为getLeft
和getTop
赋值为0,因为尚未绘制视图。为此,您可以参考this。基本上,您需要在已绘制视图的情况下执行此操作。