我对Android开发很新,所以当我制作一个非常简单的应用程序时,我感到很困惑,并且得到了一个非描述性的错误:“不幸的是,MyApp已经停止了”。没有语法错误。只是这个有点无益的消息。这就是我做的。
方法:
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" />
我希望你能帮助我。
答案 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参数告诉已触发该操作的视图对象(例如,您的情况下的按钮)