3 回答
TA贡献1864条经验 获得超2个赞
您错误地使用了属性。这是错误的:onClick
android:onClick="startActivity()"
它应该是:
android:onClick="startActivity"
在 https://developer.android.com/guide/topics/ui/controls/button#HandlingEvents 阅读更多内容
建议
应避免在 xml 中使用。请改用 。将逻辑布局和 UI 布局分开非常重要,这样在更改 xml 布局时就不需要考虑太多。使用类似如下的内容:android:onClickonClickListener
Button button = (Button) findViewById(R.id.your_button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something here when button is clicked.
}
});
TA贡献1801条经验 获得超8个赞
正如ישו אוהב אותך9A https://developer.android.com/guide/topics/ui/controls/button#HandlingEvents
Responding to Click Events
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
//onClick function/method name don't use round brackets
android:onClick="sendMessage" />
和在您的活动中
//JAVA
/** Called when the user touches the button */
public void sendMessage(View view) {
// Do something in response to button click
}
//Kotlin
/** Called when the user touches the button */
fun sendMessage(view: View) {
// Do something in response to button click
}
并删除tools:ignore="OnClick"
我希望它有帮助
TA贡献1815条经验 获得超6个赞
首先,改变这一点
android:onClick="startActivity()"
对此:
android:onClick="startActivity"
然后将 startActivity 方法移到 OnCreate 方法下方。它目前在OnCreate内部
添加回答
举报