我面临的是,每当我按下转换按钮实际将里程转换为公里时,都没有任何反应。
我有3个活动:第一个屏幕有一个活动(包含2个按钮,用户可以访问长度页面或重量页面),另外两个是长度和重量活动。
所以进入长度活动的第一个按钮正在工作。什么是行不通的是,无论我做什么,我都无法使用转换按钮。这是我正在谈论的代码:
package com.abhinavbhatta.converter;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class ConvertLength extends Activity {
Button clength;
EditText mi;
EditText km;
TextView tv_mi;
TextView tv_km;
double milesValue;
double kmValue;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_convert_length);
clength = (Button) findViewById(R.id.clength);
mi = (EditText) findViewById(R.id.et_mi);
km = (EditText) findViewById(R.id.et_km);
tv_mi = (TextView) findViewById(R.id.tv_mi);
tv_km = (TextView) findViewById(R.id.tv_km);
clength.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
milesValue = Double.parseDouble(mi.getText().toString());
kmValue = milesValue * 1.6;
String mValue = Double.toString(kmValue);
km.setText(mValue);
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.convert_length, menu);
return true;
}
}
它应该做的是,无论用户在里程编辑文本框中输入什么,它都必须取值,乘以1.6并在千米编辑文本框中显示该值。代码中没有错误,但是当我尝试测试它时,通过在里程编辑文本字段中输入一个数字,如果我按下转换,它会给我一个错误“不幸的是,转换器已停止”。我不知道我做错了什么。
答案 0 :(得分:0)
与建议一样,您应该查看错误日志。我猜你在某个地方得到了一个nullpointer异常。
要获得完整的答案,我们还需要了解您的布局文件。是否存在您引用的所有观点?
我在代码中找不到错误。事实上,如果我用简单的toast消息替换onClickListener内容,我确实得到了祝酒词。请尝试使用下面的代码段。
clength.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
}
});