2016-10-27 13 views
0

申し訳ありませんが、私はここに新しいです、これは私の最初の投稿です。ボタンを押してラジオボタンから値を取得できない

ボタンをクリックしてradiobuttonから値を取得したいのですが、そこにはまだエラーがあります。どうして?この行の

package com.example.jacobyogo.converter; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.RadioButton; 
import android.widget.TextView; 

public class currency_conv extends AppCompatActivity { 

    EditText editDollar; 
    RadioButton radioRupiah; 
    RadioButton radioSg; 
    TextView txtResult; 
    Button btnConvert; 

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

     editDollar = (EditText)findViewById(R.id.editDollar); 
     radioRupiah = (RadioButton)findViewById(R.id.radioRupiah); 
     radioSg = (RadioButton)findViewById(R.id.radioSg); 
     txtResult = (TextView)findViewById(R.id.txtHasil); 
     btnConvert = (Button)findViewById(R.id.btnConvert); 

     btnConvert.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
        boolean checked = ((RadioButton) view).isChecked(); 
        switch(view.getId()) { 
         case R.id.radioRupiah: 
          if (checked) 
           converttorupiah(); 
           break; 
         case R.id.radioSg: 
          if (checked) 
           converttosg(); 
           break; 
        } 
       } 
      }); 
     }; 

    public void converttorupiah() { 
     double val = Double.parseDouble(editDollar.getText().toString()); 
     txtResult.setText(Double.toString(val*13000)); 
    } 

    public void converttosg() { 
     double val = Double.parseDouble(editDollar.getText().toString()); 
     txtResult.setText(Double.toString(val*9000)); 
    }} 
+1

どういうところが違うのですか? –

答えて

2

boolean checked = ((RadioButton) view).isChecked();ビューは、あなたのボタンであり、そしてRadioButtonにキャストすることは無意味です。必要に応じてradioRupiah.isChecked()radioSgを使用してください。また スイッチの代わりにこれを行う方が良いと思います。

if (radioRupiah.isChecked()) 
    converttorupiah(); 
else 
    converttosg(); 
関連する問題