繁体   English   中英

添加 OnclickListener 后,我的 Android 应用程序崩溃

[英]My Android App crashes after adding an OnclickListener

我尝试使用 Java 和 Android Studio 构建一个简单的 Android 应用程序。 添加 OnClickListener 后,应用程序在模拟器上不断崩溃。

public class MainActivity extends AppCompatActivity {
    EditText first = findViewById(R.id.firstInput);
    EditText second = findViewById(R.id.secondInput);
    EditText result = findViewById(R.id.result);
    private Button add;

    private View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            clicked();
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        add = new Button(this);
        add.setOnClickListener(onClickListener);
        };

    void clicked(){
        int i = Integer.parseInt(first.getText().toString());
        int z = Integer.parseInt(second.getText().toString());

        int r = i + z;

        result.setText(r);
    }
};

  1. 对象声明位置错误

它应该低于 setContentView

EditText first = findViewById(R.id.firstInput);
    EditText second = findViewById(R.id.secondInput);
    EditText result = findViewById(R.id.result);
  1. 按钮尚未添加到布局中
add = new Button(this);
    addContentView(add, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));

注意:这是不切实际的,除非您想创建动态布局,否则您应该在布局 xml 中添加它

  1. 按整数设置文本的警告问题

从:

result.setText(r);

到:

result.setText(String.valueOf(r));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM