按钮的onClick属性不显示我的操作

时间:2017-07-12 18:58:44

标签: java android

我试图在Android Studio中编写一个简单的计算器,只有加,减,次和除功能。我是" plus"编程的半码。功能,通过单击按钮触发。这是我在MainActivity.java中的代码:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


}

public class Arithmetic {
    public void plus(View view) {
        EditText editText = (EditText) findViewById(R.id.editText);
        EditText editText2 = (EditText) findViewById(R.id.editText2);
        TextView textView = (TextView) findViewById(R.id.textView);
        String numberOne = editText.getText().toString();
        String numberTwo = editText2.getText().toString();
        String result = numberOne + numberTwo;

    }
}}    

现在我有两个问题。首先,如何在result中展示textView?其次,public void plus没有显示在点击按钮的框中。为什么?我如何让它显示在那里?

我会非常感谢每一个有用的提示。

3 个答案:

答案 0 :(得分:0)

  

1.首先,如何让它在textView中显示结果

int sum = (Integer.parseInt(numberOne)) + (Integer.parseInt(numberTwo));

String result = sum + "";
textView.setText(result); 

//or
textView.setText(sum + "");
  

2.为什么public void plus没有显示在onClick的按钮框中

<button
----
android:onClick = "plus"/>

public class MainActivity extends AppCompatActivity{
onCreate().....

public void plus(View view){
//your button code here
}

无需为此创建嵌套类!

答案 1 :(得分:0)

这是您正在寻找的,但您应该在开始项目之前学习一些Android和Java基础知识:

删除xml文件中按钮的onClick属性,最好使用OnClickListener(特别是如果您打算使用多个按钮)

package com.example.arnaudpradier.calculator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button calculBtn;
    EditText inputFieldOne;
    EditText inputFieldTwo;
    TextView showResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        calculBtn = (Button) findViewById(R.id.calculateBtn);
        inputFieldOne = (EditText) findViewById(R.id.inputFieldOne);
        inputFieldTwo = (EditText) findViewById(R.id.inputFieldTwo);
        showResult = (TextView) findViewById(R.id.resultText);

        calculBtn.setOnClickListener(this);
    }

    private void makeAddition() {
        int firstValue = (Integer.parseInt(inputFieldOne.getText().toString()));
        int secondValue = (Integer.parseInt(inputFieldTwo.getText().toString()));
        String result = (firstValue + secondValue) + "";

        showResult.setText(result);
    }

    @Override
    public void onClick(View view) {
        int i = view.getId();

        if (i == R.id.calculateBtn) {
            makeAddition();
        }
    }
}

答案 2 :(得分:-1)

public class MainActivity extends AppCompatActivity {
     EditText editText;
     EditText editText2;
     TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.editText);
    editText2 = (EditText) findViewById(R.id.editText2);
    textView = (TextView) findViewById(R.id.textView);
    Arithmetic a = new Arithmetic();
    Arithmetic.plus();

}

public class Arithmetic {
    public void plus() {
        String numberOne = editText.getText().toString();
        String numberTwo = editText2.getText().toString();
        String result = numberOne + numberTwo;
        textView.setText(result);
    }
}}