我不确定如何在我的代码中正确实现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);
}
}
答案 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;
}