2014-01-10 47 views
0

我是編程領域的新手和新的幫助。在我的xml文件中,我已經定義了單選按鈕,當選擇一個特定的計算可以做任何時候它被檢查,應用程序的力量關閉。我也想在單擊按鈕時進行計算,但單擊時,應用程序組合關閉。請我需要您的專業知識才能提交我的作業。 在此先感謝!在android中添加和計算值

下面是MainActivity.java文件

import android.os.Bundle; 
import android.app.Activity; 
import android.view.*; 
import android.widget.*; 

public class MainActivity extends Activity 
implements android.view.View.OnClickListener{ 



    Button compute; 
     EditText inputRate, inputAmount, inputAns; 
     RadioButton weekly, monthly, yearly; 

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

      inputRate = (EditText)findViewById(R.id.inputRate); 
      inputAmount = (EditText)findViewById(R.id.inputAmount); 
      inputAns = (EditText)findViewById(R.id.inputAns); 
      inputAns.setEnabled(false); 
      compute = (Button)findViewById(R.id.buttoncompute); 
      weekly = (RadioButton)findViewById(R.id.radioWeekly); 
      monthly = (RadioButton)findViewById(R.id.radioMonthly); 
      yearly = (RadioButton)findViewById(R.id.radioYearly); 


      compute.setOnClickListener(this); 
      weekly.setOnClickListener(this); 
      monthly.setOnClickListener(this); 
      yearly.setOnClickListener(this); 

     } 

     @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; 
     } 

     @Override 
     public void onClick(View v) { 
      Toast toast = Toast(compute); 
      toast.show(); 

      double inputRateValue = -1; 
      try {inputRateValue = Double.parseDouble(inputRate.getText() .toString()); 
      // TODO Auto-generated method stub 
      } 
      catch (NumberFormatException e) 
      { 

      } 
      double inputAmountValue = -1; 
      try { 
       inputAmountValue = Double.parseDouble(inputAmount.getText() .toString()); 
      } 
     catch (NumberFormatException e) 
     { 

     } 


      double inputAns = 0; 

      inputAns = inputRateValue * inputAmountValue; 

      inputAns += Double.parseDouble(compute.getText() .toString()); 
      compute.setText("" + inputAns); 

     } 

     private Toast Toast(Button compute2) { 
      // TODO Auto-generated method stub 
      return null; 
     } 

} 

下面是我的XML文件

<TextView 
    android:id="@+id/interestRate" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:textColor="#FFFFFF" 
    android:textSize="22sp" 
    android:text="@string/interest_rate" 
    /> 

<EditText 
    android:id="@+id/inputRate" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/interestRate" 
    android:layout_alignTop="@+id/interestRate" 
    android:layout_toRightOf="@+id/interestRate" 
    android:ems="10" 
    android:inputType="number" /> 

<RadioButton 
    android:id="@+id/radioWeekly" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/interestRate" 
    android:layout_below="@+id/interestRate" 
    android:textColor="#FFFFFF" 
    android:layout_marginTop="19dp" 
    android:text="@string/weekly" /> 

<RadioButton 
    android:id="@+id/radioMonthly" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/radioWeekly" 
    android:layout_below="@+id/radioWeekly" 
    android:textColor="#FFFFFF" 
    android:layout_marginTop="19dp" 
    android:text="@string/monthly" /> 

<RadioButton 
    android:id="@+id/radioYearly" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/radioMonthly" 
    android:layout_below="@+id/radioMonthly" 
    android:textColor="#FFFFFF" 
    android:layout_marginTop="19dp" 
    android:text="@string/yearly" /> 

<TextView 
    android:id="@+id/textAmount" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/radioYearly" 
    android:textColor="#FFFFFF" 
    android:layout_marginTop="19dp" 
    android:textSize="22sp" 
    android:text="@string/amount" /> 

<EditText 
    android:id="@+id/inputAmount" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/textAmount" 
    android:layout_alignBottom="@+id/textAmount" 
    android:layout_toRightOf="@+id/interestRate" 
    android:ems="10" 
    android:inputType="number" /> 

<Button 
    android:id="@+id/buttoncompute" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textAmount" 
    android:layout_alignRight="@+id/interestRate" 
    android:layout_below="@+id/inputAmount" 
    android:layout_marginTop="27dp" 
    android:onClick="" 
    android:text="@string/compute" /> 

<TextView 
    android:id="@+id/textResult" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/buttoncompute" 
    android:layout_marginTop="22dp" 
    android:textColor="#FFFFFF" 
    android:textSize="22sp" 
    android:text="@string/result" /> 

<EditText 
    android:id="@+id/inputAns" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/inputRate" 
    android:layout_alignTop="@+id/textResult" 
    android:ems="10" 
    android:inputType="number" /> 

+1

你可以指定logcat和你得到的異常嗎? –

+1

@ user3179975發佈您的logcat – nitesh

+0

發佈您的logcat ...問題可能是您顯示Toast的地方... –

回答

1
Toast toast = Toast(compute); 

其中computeButton沒有意義。查找關於如何顯示Toast的教程,其中有數百個,這很容易。 See this question/answer for example

未來:您必須發佈您的logcat輸出以供人們查看問題所在。

0

你需要圍繞無線電組單選按鈕像下面這個XML文件:

<RadioGroup 
android:id="@+id/radioGroup1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentLeft="true" 
android:layout_alignParentTop="true" 
android:layout_marginLeft="28dp" 
android:layout_marginTop="34dp" > 

<RadioButton 
    android:id="@+id/radio0" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:checked="true" 
    android:text="RadioButton" /> 

和定義單選按鈕,在Java中是這樣的:

Radiogroup group; 
group.add(radiobutton1); 

爲你它應該是這樣的:

String s ; 
if(radiobutton1.isChecked){ 
    s = "weekly"; 
    Toast toast = Toast(this,s,Toast.LENGTH_SHORT);toast.show();} 

其中是s a String並在其內部您想要的句子和this意味着我認爲或類的上下文和最後的Toast.LENGTH_SHORT是敬酒的時間。 如果它幫助接受,如果不是發佈日誌可以感謝你。