不幸的是,我的Android应用已停止

时间:2012-08-27 08:13:00

标签: java android android-emulator

我对Android开发很新,所以当我制作一个非常简单的应用程序时,我感到很困惑,并且得到了一个非描述性的错误:“不幸的是,MyApp已经停止了”。没有语法错误。只是这个有点无益的消息。这就是我做的。

  1. 制作了一个新的应用项目(Android 4.1)
  2. 按下按钮 - 按钮1
  3. 制作了一个java方法 - DoStuff() - 在活动类中(见下文)
  4. 向DoStuff添加了对活动对话框xml(见下文)
  5. 按钮的调用
  6. 将项目作为Android应用程序运行
  7. 按下按钮
  8. 出现错误
  9. 方法:

    public void DoStuff(){
        TextView tv = (TextView)this.findViewById(R.id.textView1);
        tv.setText("Hello dude");
    }
    

    按钮xml:

     <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/textView1"
            android:layout_marginTop="82dp"
            android:text="Button"
            android:onClick="DoStuff" />
    

    我希望你能帮助我。

2 个答案:

答案 0 :(得分:0)

我在其他地方找到了解决方案。似乎DoStuff需要将View作为参数,因此看起来像这样:

public void DoStuff(View v){
    TextView tv = (TextView)this.findViewById(R.id.textView1);
    tv.setText("Hello dude");
}

为什么,我不知道,但它有效: - )

答案 1 :(得分:0)

在Android中,对于不同类型的事件和操作,相应的侦听器具有其指定的功能签名。 例如,对于按钮的动作侦听器,该函数必须具有以下签名:

public void functionName(View view);

在你的布局文件中,对于Button的onClick属性,你只需要提供函数名..

其中View参数告诉已触发该操作的视图对象(例如,您的情况下的按钮)