我最近才开始学习android开发,并决定在2017年冬季开始遵循stanford public lectures。在第3讲中,他们共享一个库,该库是可用于their page的更快,更干净的代码的实用程序。
我按照说明进行了导入。它正在工作,我真的很喜欢它简化代码的方式。事实是,它是通过创建扩展AppCompatActivity并对其进行改进的类来实现的。
该类称为SimpleActivity,并声明为
public abstract class SimpleActivity extends AppCompatActivity implements OnClickListener, OnTouchListener, ... {
所以,据我所知,类SimpleActivity也是一种活动,应被视为一个活动。然后,我通过
创建一个新活动import stanford.androidlib.SimpleActivity;
public class DeadlyActivity extends SimpleActivity {
public void deadlyMethod(View view)
{
//dostuff
}
}
一切都进行到现在,但是当我转到XML布局文件时,当我尝试像其他方法一样将OnClick事件链接到类方法时,它无法将该类(DeadlyActivity)识别为有效活动。活动。
<Button
...
android:onClick="deadlyMethod"
>
它只是说“无法解析符号'deadlyMethod'”。我觉得这很奇怪,因为我认为它只是对方法的简单引用,但是android似乎不同意,即使我可以将DeadlyActivity作为一种活动来启动,并且该方法在出现警告的情况下仍然有效。
Intent intent = new Intent(this, DeadlyActivity.class);
startActivity(intent);
//this works, being summoned from MainActivity, which is a plain AppCompatActivity
[在将活动用作参数时,当尝试使用关键字“ this”时会出现其他问题,因为它无法识别类。
我做了一个简单的测试,使DeadlyActivity继承自AppCompatActivity,然后创建了一个名为FuriousActivity的新类,该类继承了DeadlyActivity及其工作原理。为什么图书馆的方式不起作用?
我想念什么吗?我不了解继承吗?我的Android Studio被诅咒了吗?