public class MainScreen extends AppCompatActivity {
private double mmiles,mgallons = 1;
EditText miles;
EditText gallons;
Button execute;
TextView fin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
execute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
miles = (EditText) findViewById(R.id.editTextMiles);
gallons = (EditText) findViewById(R.id.editTextGallons);
mmiles = Double.parseDouble(miles.getText().toString());
execute= (Button) findViewById(R.id.execute);
fin= (TextView) findViewById(R.id.fini);
String numberAsString = new Double(mmiles).toString();
fin.setText(numberAsString);
}
});
}}
每次启动应用程序时都会崩溃。我试图将EditText中的数字存储到TextView中。我是java编程的新手,所以我很难搞清楚这一点。
编辑:似乎仍然没有显示任何内容。这就是我到目前为止所拥有的: execute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
miles = (EditText) findViewById(R.id.editTextMiles);
gallons = (EditText) findViewById(R.id.editTextGallons);
mmiles = Double.parseDouble(miles.getText().toString());
String TextAsString = String.valueOf(mmiles);
fin= (TextView) findViewById(R.id.fini);
fin.setText(TextAsString);
}
});
答案 0 :(得分:0)
为按钮使用不同的名称,我不会想到"执行"是一个保留的关键字,但它可能意味着以后的其他事情(使用AsyncTask),因此它首先会引起混淆
您需要在execute.setOnClickListener...
行之前填写此行:
execute = (Button) findViewById(R.id.execute);
原因是,直到那一刻,你告诉编译器的所有内容是执行是一个按钮,但是它并不知道 按钮。 #39;重新引用。
另外,将String numberAsString = new Double(mmiles).toString();
更改为String numberAsString = String.valueOf(mmiles);