TextUtils如何实现?

时间:2015-04-05 02:57:28

标签: java android arrays

我不确定如何在我的代码中正确实现TextUtils。我正在构建一个计算器,但不确定它应该如何实现?这可能是一个小修复但不确定。提前谢谢!

继承我的守则:

package com.mula.minicalculator;
import android.text.TextUtils;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;

import static com.mula.minicalculator.R.id;


public class MainActivity extends ActionBarActivity implements View.OnClickListener {

TextView scr;
Button buttonPlus;
Button buttonSub;
Button buttonX;
Button buttonDiv;

String oper = "";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    scr = (TextView) findViewById(id.answerSum);

    // Elements
    buttonDiv = (Button) findViewById(id.buttonDiv);
    buttonX = (Button) findViewById(id.buttonX);
    buttonSub = (Button) findViewById(id.buttonSub);
    buttonPlus = (Button) findViewById(id.buttonPlus);



    // Set a Listener
    buttonDiv.setOnClickListener(this);
    buttonSub.setOnClickListener(this);
    buttonX.setOnClickListener(this);
    buttonPlus.setOnClickListener(this);

    // Now the numbers

    Button buttons[] = new Button[10];

    buttons[0] = (Button) findViewById(id.button0);
    buttons[1] = (Button) findViewById(id.button1);
    buttons[2] = (Button) findViewById(id.button2);
    buttons[3] = (Button) findViewById(id.button3);
    buttons[4] = (Button) findViewById(id.button4);
    buttons[5] = (Button) findViewById(id.button5);
    buttons[6] = (Button) findViewById(id.button6);
    buttons[7] = (Button) findViewById(id.button7);
    buttons[8] = (Button) findViewById(id.button8);
    buttons[9] = (Button) findViewById(id.button9);


}


@Override
public void onClick(View view) {

    float buttons = 0;
    float result = 0;

//问题在这里

    if (TextUtils.isEmpty(buttons.getText().toString()) {   
        return;
    }

    return;


    switch (view.getId()) {
        case id.buttonPlus:
            oper = "+";
            result = buttons + buttons;
            break;
        case  id.buttonSub:
            oper = "-";
            result = buttons - buttons;
            break;
        case id.buttonX:
            oper = "*";
            result = buttons * buttons;
            break;
        case id.buttonDiv:
            oper = "/";
            result = buttons / buttons;
            break;
        default:
            break;


    }

    scr.setText(buttons + " " + oper + " " + buttons + " = " + result);
  }
}    

2 个答案:

答案 0 :(得分:0)

如果你想检查Button的空虚那么

button.getText().toString().length() == 0 //all versions

也在你的代码中检查这个

 if (TextUtils.isEmpty(buttons.getText().toString()) {   
    return; // this takes you out of the method, if its empty
}

return; // this takes you out of the method,even if its not, 
//switch statements wont be called

所以请删除第二个return我猜你的问题

答案 1 :(得分:0)

对于数组

中的按钮,您的空检查应同时采用这种方式
if (TextUtils.isEmpty(buttons[0].getText().toString()) 
{ 
return; 
}