簡體   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