簡體   English   中英

缺少Android Rect set()方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM