0

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

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

方法:

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" />

我希望你能帮助我。

4

2 回答 2

0

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

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

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

于 2012-08-27T08:22:45.503 回答
0

在 Android 中,对于不同类型的事件和动作,各自的监听器都有其指定的函数签名。例如,对于按钮的动作侦听器,函数必须具有以下签名:

public void functionName(View view);

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

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

于 2012-08-27T13:18:08.193 回答