[英]Android Rect set() method missing
我正在使用Android Studio 1.1.0並嘗試在某些代碼中使用Rect .set()方法來設置新創建的矩形的邊緣,並且我收到消息“無法解析符號'set'”即使我按照提示導入了android.graphics.Rect。
當我聲明一個新的Rect並同時定義它的邊時,它工作正常。
但是,如果我嘗試聲明一個新的空Rect然后在另一行上定義它的邊緣,它就無法識別set()方法是否存在(或者我試圖錯誤地訪問它?)。
另外,當我輸入Rect名稱后跟'。'時,不是提示我使用各種Rect函數,而是彈出“ClassLoaderCreator”和“Creator”。
我做錯了什么,如何讓這個和其他Rect函數起作用? 我試着清理和重建我的項目。
import android.graphics.Rect;
public class MainActivity extends ActionBarActivity {
Rect staticRect = new Rect(100,100,200,200); // works fine
Rect dynamicRect = new Rect(); // this is okay, too, but not useful until set
dynamicRect.set(200,200,300,300); // Cannot resolve symbol 'set'
dynamicRect. // As I start typing here, after the . none of the Rect functions appear,
// just "ClassLoaderCreator<T>" and "Creator<T>"
...
問題是你試圖從靜態上下文操作實例變量dynamicRect
,即從實例方法的外部操作。 以下是您的選擇:
創建一個初始化方法,並在適當的時候調用它。 例如:
private void setupRects() {
dynamicRect.set(200,200,300,300);
// do other stuff
}
如果合適,您也可以將初始化代碼放在activity的onCreate
方法中。
或者,如果您希望靜態初始化dynamicRect
,可以執行以下操作:
static Rect dynamicRect = new Rect();
static {
dynamicRect.set(200,200,300,300);
// do other stuff
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.