2011-04-06 31 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 ...... 只是在開玩笑...原因是你正在設置一個空的點擊監聽器。另一方面,您的Activity實現了OnClickListener接口,並且該實現的onClick方法是您想要執行的(而不是您設置爲按鈕的空)。

+0

嗨克里斯蒂安。一切正常。但是對於一個小問題。例如,如果我選擇美元作爲歐元,請不要輸入任何值,並按轉換比它說的「應用程序貨幣轉換器(進程com.currency轉換器)意外停止。請再試一次。如果可以 – user 2011-04-06 04:48:36

+0

您是否檢查過美元和歐元文本框是否有空值?是否檢查日誌貓,因爲我猜這些文本框會拋出空指針異常,而沒有任何值在那個文本框中...... – Prasham 2011-04-06 05:16:01

+0

@user:除了Prasham的建議......確保捕獲任何其他可能的異常......那麼'NumberFormatException'怎麼辦? – Cristian 2011-04-06 05:36:29

相關問題