2014-12-13 26 views
0

這是我MainActivity.java可以在非常基本的Android代碼解決錯誤

package com.calc.calculator; 

import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.EditText; 


public class MainActivity extends ActionBarActivity { 
private EditText no1=(EditText) findViewById(R.id.editText1); 
private EditText no2=(EditText) findViewById(R.id.editText2); 
private EditText out=(EditText) findViewById(R.id.editText3); 

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


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

public void add(View view){ 
    float output=Float.parseFloat(out.getText().toString()); 
    float no1Value = Float.parseFloat(no1.getText().toString()); 
    float no2Value = Float.parseFloat(no2.getText().toString()); 
    float ans=Calc.Add(no1Value, no2Value); 
    output.setText(String.valueOf(Calc.Add(no1Value, no2Value))); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
} 

這是我Calc.java

package com.calc.calculator; 

public class Calc { 

public static float Add(float no1,float no2){ 
    return(no1+no2); 
} 

} 

我試圖做一個非常簡單的應用程序,計算總和的兩個號碼。但它表明在Mainactivity.java錯誤在這行35

output.setText(String.valueOf(Calc.Add(no1Value, no2Value))); 

它說不能對原始數據類型float調用的setText(字符串)

我新的android開發,我很憋屈這是非常初學者的問題。 請幫助:d

+3

輸出被定義爲** float **('floa t output = Float.parseFloat(out.getText()。toString());')。您無法將**字符串**傳遞給它。它沒有'setText()'方法。 – 2014-12-13 18:45:36

+0

請檢查這個答案:[這裏](http://stackoverflow.com/questions/26533870/error-cannot-invoke-string-on-the-primitive-type-float-on-quadratic-formul) – 2014-12-13 18:50:25

+0

這是一個錯字既不是'java'也不是'android'錯誤。更好地檢查你的代碼,而不是回答問題。你應該寫出'out.setText(String.valueOf(Calc.Add(no1Value,no2Value)));' – madlymad 2014-12-13 18:56:43

回答

1

您正在嘗試float類型的輸出轉換爲String

改變輸出輸入String

String output_ = "" + output;

然後

out.setText(output_);

+0

我該如何解決它? – 2014-12-13 18:46:09

+0

@SanilKhurana查看編輯 – SemperAmbroscus 2014-12-13 18:47:23

+0

我試過,現在我得到的settext是字符串不被取得的 – 2014-12-13 18:52:54

相關問題