2011-04-06 3 views
0

私は通貨変換アプリケーションを作成しようとしていますが、変換ボタンをクリックすると何も起こりません。ここにチュートリアルに従ったコードを示します。変換アプリケーション - android

package com.currencyconverter; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.RadioButton; 
import android.widget.TextView; 


public class currencyconverter extends Activity implements OnClickListener { 
/** Called when the activity is first created. */ 


TextView dollars; 
TextView euros; 
RadioButton dtoe; 
RadioButton etod; 
Button convert; 

@Override 

public void onCreate(Bundle icicle) { 
super.onCreate(icicle); 
setContentView(R.layout.main); 

dollars = (TextView)this.findViewById(R.id.dollars); 
euros = (TextView)this.findViewById(R.id.euros); 
dtoe = (RadioButton)this.findViewById(R.id.dtoe); 
dtoe.setChecked(true); 
etod = (RadioButton)this.findViewById(R.id.etod); 
convert = (Button)this.findViewById(R.id.Convert); 
convert.setOnClickListener(new View.OnClickListener() { 

@Override 
public void onClick(View v) { 
// TODO Auto-generated method stub 

} 
}); 

} 
@Override 
public void onClick(View v) { 
if (dtoe.isChecked()) { 
convertDollarsToEuros(); 
} 
if (etod.isChecked()) { 
convertEurosToDollars(); 
} 

} 
// TODO Auto-generated method stub 

protected void convertEurosToDollars(){ 
double val = Double.parseDouble(euros.getText().toString()); 
dollars.setText(Double.toString(val/0.67)); 

} 
protected void convertDollarsToEuros(){ 
double val = Double.parseDouble(dollars.getText().toString()); 
euros.setText(Double.toString(val*0.67)); 



} 
} 

答えて

1

変更

convert.setOnClickListener(new View.OnClickListener() { 

@Override 
public void onClick(View v) { 
// TODO Auto-generated method stub 

} 
}); 

convert.setOnClickListener(this); 

はなぜか?あなたがこの質問に答えることができない場合は、もっとJavaを勉強する必要があります.... ちょうど冗談...理由は、あなたが空のクリックリスナーを設定しているということです。一方、ActivityOnClickListenerインターフェイスを実装しており、その実装のonClickメソッドが実行したいものです(ボタンに設定した空ではありません)。

+0

こんにちはクリスチャン。すべてが機能します。しかし、小さな問題では、たとえば、私はドルをユーロに選んだ場合、値を入力せずに「アプリケーション通貨コンバータ(プロセスcom.currency converter)が予期せず停止しました。これは私のアプリが100%稼動しているよりも遠ざかっています – user

+0

ヌル値を持つドルとユーロのテキストボックスをチェックしましたか?これらのテキストボックスはヌルポインタ例外をスローすると思いますのでログcatをチェックしてくださいそのテキストボックスに.... – Prasham

+0

@user:Prashamの提案以外に、他の可能な例外をキャッチするようにしてください。「NumberFormatException」はどうですか? – Cristian

関連する問題