[英]Button doesn't do anything
我面临的是,每当我按下转换按钮将英里实际转换为公里时,都不会发生。
我有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;
}
}
要做的是,无论用户在Miles Edittext框中输入什么,它都必须取值,将其乘以1.6,然后在kmedittext框中显示该值。 代码中没有错误,但是当我尝试对其进行测试时,通过在Miles Edittext字段中输入数字,如果我按Convert,它给我一个错误“不幸的是,转换器已停止”。 我不知道我在做什么错。
像建议的那样,您应该查看错误日志。 我猜你在某个地方遇到了nullpointer异常。
要获得完整答案,我们还需要知道您的布局文件。 是否存在您引用的所有视图?
我在您的代码中找不到错误。 实际上,如果我用简单的Toast消息替换onClickListener内容,我确实会得到Toast。 尝试使用下面的代码片段。
clength.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.