gpt4 book ai didi

android - android studio 不识别 Activity 继承

转载 作者:行者123 更新时间:2023-11-30 05:00:48 28 4
gpt4 key购买 nike

我最近刚开始学习android开发,并决定关注stanford public lectures从 2017 年冬季开始。在第 3 课中,他们共享一个库,该库是用于更快、更清晰代码的实用程序,位于 their page。 .

我按照说明导入了它。它正在运行,我真的很喜欢它简化代码的方式。问题是,它通过创建一个扩展 AppCompatActivity 并对其进行改进的类来实现。

该类称为 SimpleActivity 并声明为

public abstract class SimpleActivity extends AppCompatActivity implements OnClickListener, OnTouchListener, ... {

因此,据我所知,类 SimpleActivity 也是一个 Activity ,应该被视为一个 Activity 。然后我通过

创建一个新 Activity
import stanford.androidlib.SimpleActivity;

public class DeadlyActivity extends SimpleActivity {

public void deadlyMethod(View view)
{
//dostuff
}

}

到这里为止一切正常,但是当我转到 XML 布局文件时,当我尝试将 OnClick 事件链接到类方法时,它不会将此类 (DeadlyActivity) 识别为有效 Activity ,就像您对任何其他 Activity 。

<Button
...
android:onClick="deadlyMethod"
>

它只是说“无法解析符号‘deadlyMethod’”。我觉得这很奇怪,因为我认为这只是对方法的简单引用,但 android 似乎不同意,即使我可以将 DeadlyActivity 作为 Activity 启动并且尽管有警告该方法仍然有效。

Intent intent = new Intent(this, DeadlyActivity.class);
startActivity(intent);
//this works, being summoned from MainActivity, which is a plain AppCompatActivity

当需要使用 Activity 作为参数时尝试使用关键字“this”时会出现更多问题,因为它不能识别类本身。

我只是做了一个简单的测试,让 DeadlyActivity 继承自 AppCompatActivity,然后创建了一个名为 FuriousActivity 的新类,它继承自 DeadlyActivity 并且它可以工作。为什么图书馆的方式不起作用?

我错过了什么吗?我不懂继承吗?我的安卓工作室被诅咒了吗?

最佳答案

问题与库本身有关,因为它的某些导入无效,要么是因为 android 的当前迭代,要么是因为我这边缺少 repo 协议(protocol)。只有当通过 java 代码的声明而不是编译版本阅读时,错误才会显示出来,因为 android studio 不会对任何错误发出警告。由于导入损坏,“SimpleActivity”类无法解析“AppCompatActivity”,因此无法正常工作。

有点难过,但我不得不建议不要使用这个库,除非你能够解决它的导入问题并仔细检查它是否仍然按预期工作。

关于android - android studio 不识别 Activity 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279596/

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