2011-04-06 33 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

相关问题