我的android应用程序在添加onclicklistener后崩溃

niwlg2el  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(299)

我试着用java和androidstudio构建一个简单的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);
    }
};
3htmauhk

3htmauhk1#

对象声明位置错误
它应该在setcontentview下面

EditText first = findViewById(R.id.firstInput);
    EditText second = findViewById(R.id.secondInput);
    EditText result = findViewById(R.id.result);

按钮尚未添加到布局中

add = new Button(this);
    addContentView(add, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));

注意:这是不切实际的,除非您想创建动态布局,否则您应该在布局xml中添加这个
按整数设置文本的警告问题
发件人:

result.setText(r);

收件人:

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

相关问题