2012-02-21 2 views
2

私は今Java用のAndroid Calculatorを使っています。もちろん、Eclipseです。私のプログラムでは、アンドロイドボタンのテキストをオペレータ(theOperator)としてテストするために保存して、それに基づいていくつかのコードを実行できるようにしたいと考えています。私はすべてのボタンをXMLを使ってテキストとして設定しています。ここでは例です:ボタンのボタンテキストを変数に保存する方法は? Androidの電卓のプロジェクト

<Button 
    android:id="@+id/bMultiply" 
    android:layout_width="65dp" 
    android:layout_height="65dp" 
    android:layout_alignParentRight="true" 
    android:layout_below="@+id/bSix" 
    //// android:text="*" ///// Right here is where the text of the button is set. 
    android:textSize="40dp" 
    android:onClick="onClick" 
    /> 

は今ここに私の主なコードは次のとおりです。

package rechee.cool; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
public class HelloAndroidActivity extends Activity { 
    /** Called when the activity is first created. */ 
    public EditText display; 
    double total1=0; 
    double total2=0; 
    char theOperator; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     // Associate the button variable with the xml reference 
     display= (EditText) findViewById(R.id.editText1); 
    } 
    String display1= display.getText().toString(); 
    // I want to store the button text of the android button as btnText. How do I do this? 
    public void getOperator(String btnText){ 
     theOperator = btnText.charAt(0); 
     double displayValue= Double.parseDouble(display1); 
     total1+=displayValue; 
     display.setText(""); 
    } 
    public void onClick(View v) { 
     switch(v.getId()){ 
      case R.id.bOne: 
      display.append("1"); 
      break; 
      case R.id.bTwo: 
      display.append("2"); 
      break; 
      case R.id.bThree: 
      display.append("3"); 
      break; 
      case R.id.bFour: 
      display.append("4"); 
      break; 
      case R.id.bFive: 
      display.append("5"); 
      break; 
      case R.id.bSix: 
      display.append("6"); 
      break; 
      case R.id.bSeven: 
      display.append("7"); 
      break; 
      case R.id.bEight: 
      display.append("8"); 
      break; 
      case R.id.bNine: 
      display.append("9"); 
      break; 
      case R.id.bZero: 
      display.append("0"); 
      break; 
      case R.id.bPoint: 
      display.append("."); 
      break; 
      case R.id.bClear: 
      display.setText(""); 
      break; 
      case R.id.bAdd: 
      getOperator(display1); 
      //String theOperator= new String("+"); 
      break; 
      case R.id.bEqual: 
     } 
    } 
} 
+0

があなたのクラスで

public class HelloAndroidActivity extends Activity { private String buttonText; private Button button; ... 

を変数に入れて、その後のonCreateメソッドにボタンやテキストを取得?誰も答えはありませんか? – recheej

+0

私はあなたに質問があるとは思わない。 – kcoppock

答えて

2

ボタンのテキストを取得します。本当に

@Override 
public void onCreate(Bundle savedInstanceState) { 
    button = (Button)findViewById(R.id.bMultiply); 
    buttonText = button.getText().toString(); 
} 

幸運

+0

私は説明が正しいと思った、実際にはそうではありません。 XMLコードを見ることができれば、ボタンのテキストを "*"に設定します。私はそのテキストをJavaで返して使用できるようにしたい。 – recheej

+0

おっと、申し訳ありません。そのためには、Brianがbutton.getText()と言ったことをする必要があります。私は答えを編集します。 – Allen

1

すみませんが、あなたの言葉遣いが少しおかしいです。 button.getText()を単に使うことができるので、ボタンのテキストを取得する方法を探していましたか?それがあなたが探していたものかどうかわからない、私に知らせてください。

関連する問題