Java 代码在emulator中不工作
我对android还很陌生,我想知道为什么在emulator中打开时这不起作用。错误显示为“不幸”,此应用没有响应。我的代码没有语法错误,它已成功安装在emulator上 我调用函数anim();在MainActivity.java中Java 代码在emulator中不工作,java,android,android-emulator,Java,Android,Android Emulator,我对android还很陌生,我想知道为什么在emulator中打开时这不起作用。错误显示为“不幸”,此应用没有响应。我的代码没有语法错误,它已成功安装在emulator上 我调用函数anim();在MainActivity.java中 protected void onStart() { super.onStart(); functions mActivity= new functions(); mActivity.anim(); 该函数
protected void onStart() {
super.onStart();
functions mActivity= new functions();
mActivity.anim();
该函数已写入另一个类文件(functions.java)
这不是Android的工作方式。例如,您不需要手动实例化
活动。您可以使用Intent
和startActivity()
方法来启动它们。为什么不将anim()
方法放在MainActivity
类中?查看日志-那里几乎肯定会记录异常。我无法找到emulator的日志。到哪里去查?我记不起来了,但我希望它会出现在任何关于Android开发的教程中。。。或者只搜索它。@user3324932:请参阅教程帮助。在Eclipse或Android Studio中也有DDMS选项来获取应用程序logsok,我知道只是试图以不同的方式探索它,这就是为什么我将anim()保存在不同的类文件中。所以,我怀疑每个“.java”文件都会被视为活动?即使我从菜单创建了一个新的类文件,但没有创建新的活动?如果您有一个从活动
类或其某些子类扩展的类,那么它将被视为活动
。我不知道你评论的第二部分是什么意思。你在Eclipse中右键单击并选择“New class”选项了吗?是的,这就是我创建“New class”而不是“New Activity”的意思。Eclipse只是为你生成一些样板代码(它可能只是使类扩展Activity
并覆盖一些基本的生命周期方法)。如果您从头开始创建一个新文件,并让它扩展活动
或它的某个子类,那么不管您使用什么IDE,该类都将作为活动
。好的,我明白您的意思了。但是当我把anim()
放在'MainActivity'类中时,正如您所说的,并用这个MainActivity mActivity=newmainActivity()调用它;mActivity.anim()代码>仍然不起作用。当我将anim()
中的代码直接放入onCreate(Bundle savedInstanceState)
方法(通过删除anim()方法)时,它会起作用。
public class functions extends MainActivity {
public void anim() {
Animation animfadein =AnimationUtils.loadAnimation(this,R.anim.fadein);
Animation animfadeout =AnimationUtils.loadAnimation(this,R.anim.fadeout);
findViewById(R.id.imageView1).startAnimation(animfadein);
findViewById(R.id.imageView1).startAnimation(animfadeout);