当我声明双变量,然后尝试为它们赋值时,它表示未知类。其次,我创建的对象的任何方法调用都说无法解析符号。
我的代码:
private double xCurrentPos, yCurrentPos;
private ImageView test = (ImageView) findViewById(R.id.square);
xCurrentPos = test.getLeft();
yCurrentPos = test.getTop();
此代码表示xCurrentPos和yCurrentPos都是未知类,并且无法解析getLeft或getTop。
非常感谢任何帮助。 :)
答案 0 :(得分:1)
你不能在类的上下文中对变量进行分配。
据我所知,你正在做这样的事情,它会给你所描述的错误。
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
将为空。
在设置内容视图后,即使在onCreate
中执行此操作,也会为getLeft
和getTop
提供0值,因为您尚未绘制视图。为此,您可以参考this。您基本上需要在已经绘制视图的事件中执行此操作。
答案 1 :(得分:0)