当你按下按钮时,我做了非常简单的java吐司。但是当我在手机上运行它时,它会停止应用程序并退出而不会出现错误。我做错了什么?
MainActivity:
package com.example.ras.tests;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void buttonWasClicked(View Button) {
Toast.makeText(this , "Button wurde geklickt!" , Toast.LENGTH_SHORT).show();
}
}
按钮:
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:layout_marginTop="16dp"
app:layout_constraintTop_toTopOf="@+id/activity_main"
android:layout_marginStart="16dp"
app:layout_constraintLeft_toLeftOf="@+id/activity_main"
android:layout_marginLeft="16dp"
android:onClick="buttonWasClicked (MainActivity)"
android:visibility="visible" />
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:0)
尝试删除xml文件中android:onClick中的“(MainActivity)”。
答案 1 :(得分:0)
简单:xml中的android:onClick="buttonWasClicked"
应该可以解决问题。
或者在OnCreate方法中,您可以将监听器分配给您的按钮,如下所示:
final Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonWasClicked(button);
}
});
在这种情况下,您从xml中删除android:OnClick。 并且您可以更好地执行事件:从方法按钮中删除参数查看按钮单击此按钮,这允许您不要声明您的变量最终。