gpt4 book ai didi

java - 缺少 Android Rect set() 方法

转载 作者:太空狗 更新时间:2023-10-29 14:10:44 26 4
gpt4 key购买 nike

我正在使用 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
}

关于java - 缺少 Android Rect set() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com