2016-07-08 6 views
0

は、この画面を持っている:ラジオボタン(変更条件のonclickに)一般的に

enter image description here

どうonCheckedChangedOnClickから条件を配置する(ラジオボタン)。それはOnClickの一つの変数price_53_offでのみ動作しますが、他のラジオボタン(500 gr。)プログラムが他の変数(price_73_off)を解析して他のサイクルを計算するようにしたいときに欲しいです。

以下のコードです。

public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 
    ImageView plus; 
    ImageView minus; 
    TextView tvResult; 
    TextView price; 
    TextView price_53_off; 
    TextView price_73_off; 
    RadioGroup radioGroup_price; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    plus = (ImageView) findViewById(R.id.plus); 
    plus.setOnClickListener(this); 
    minus= (ImageView) findViewById(R.id.minus); 
    minus.setOnClickListener(this); 
    tvResult = (TextView) findViewById(R.id.tvResult); 
    price = (TextView) findViewById(R.id.price); 
    price_53_off = (TextView) findViewById(R.id.price_53_off); 
    price_73_off = (TextView) findViewById(R.id.price_73_off); 
    radioGroup_price = (RadioGroup) findViewById(R.id.radioGroup_price); 

    radioGroup_price.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 

     switch (checkedId) { 
      case R.id.radioButton_250: 
      price.setText("53"); 
      break; 

      case R.id.radioButton_500: 
      price.setText("73"); 
      break; 
     } 
     } 
    }); 
    } 

    @Override 
    public void onClick(View v) { 
    int parse_quant; 
    int parse_price_53; 
    int num2 = 1; 
    int result = 0; 
    int resultprice=0; 
    parse_quant = Integer.parseInt(tvResult.getText().toString()); 
    parse_price_53 = Integer.parseInt(price_53_off.getText().toString()); 

    switch (v.getId()) { 
     case R.id.plus: 
     result = parse_quant + num2; 
     resultcena= result*parse_price_53; 
    } 

    switch (v.getId()) { 
     case R.id.minus: 
     result = parse_quant - num2; 
     if (parse_quant==1){ 
      return; 
     } 
     resultprice= result*parse_price_53; 
    } 

    tvResult.setText(String.valueOf(result)); 
    price.setText(String.valueOf(resultprice)); 

    } 
} 

答えて

0

resultresultPrice変数がonCheckChangedonClickの両方で利用できるようにするためには、あなたの代わりにonClickメソッド内のローカルのクラスレベルでそれらを格納する必要があります。

関連する問題