我只是不明白为什么我对此有一个nullpointerexception:
public class MainActivity extends AppCompatActivity {
private EditText field;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText field = (EditText) findViewById(R.id.field);
Button plus = (Button) findViewById(R.id.plus);
Button moins = (Button) findViewById(R.id.moins);
Button ctof = (Button) findViewById(R.id.ctof);
plus.setOnClickListener(buttonclick);
moins.setOnClickListener(buttonclick);
ctof.setOnClickListener(buttonclick);
}
private View.OnClickListener buttonclick = new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.plus:
//TODO
Toast.makeText(MainActivity.this, field.getText().toString(), Toast.LENGTH_LONG).show();
break;
}
}
};
}
我不明白我的错误,这很简单,我不知道问题出在哪里。我无法得到我的领域并打印出结果。
答案 0 :(得分:3)
private EditText field;
您定义了编辑文字
你又完成了它
EditText field = (EditText) findViewById(R.id.field);
答案 1 :(得分:1)
这是因为您已经两次声明了EditText。 从“EditText field = ......”中删除“EditText” 问题将得到解决