2015-04-05 86 views
1

我不知道如何在我的代码中正确实现TextUtils。我正在构建一个计算器,但不知道应该如何实施?这可能是一个小小的修复,但不能确定。提前致谢!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

是什么按钮?在第一个代码块中,你正在实例化它的两个版本,一个数组和一个浮点数。你的代码有点混乱,因为你反复使用同一个名字(按钮),很难理解应该发生什么。 – Zamereon 2015-04-05 03:01:37

+0

你在检查'TextView' scr或'Button'按钮上的空白吗?为什么你不只是去'Whateverview.getText()。的toString()。的isEmpty()'或'Whateverview.getText()。的toString()。长度()== 0' – Elltz 2015-04-05 03:01:45

+0

嘿@Elltz我检查按钮按钮的空白。我尝试了“Whateverview.getText()。toString()。isEmpty()或Whateverview.getText()。toString()。length()== 0”然后说不能解析符号“getText”我只想要所有的按钮在数组中具有功能。 – 2015-04-05 03:53:28

回答

0

你的空检查应同时在这样的按钮排列

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

,如果你想选择按钮的空虚,然后

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我想这是你的问题