我做了一个非常简单的 java toast,当你按下一个按钮时就会出现。但是当我在手机上运行它时,它会停止应用程序并退出而没有错误。我做错了什么?
主要活动:
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>
简单:android:onClick="buttonWasClicked"
在您的 xml 中应该可以解决问题。或者在你的 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。您可以更好地完成事件:从方法 buttonWasClicked 中删除参数 View button 这允许您不将变量声明为 final。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句