这个问题在这里已有答案:
我只是不明白为什么我有这个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;
}
}
};
}
我不明白我的错误,这很简单,我不知道问题出在哪里。我无法得到我的领域并打印出结果。
private EditText field;
您定义了编辑文本
你又做完了
EditText field = (EditText) findViewById(R.id.field);
这是因为你已经两次声明你的EditText。从“EditText field = ......”中删除“EditText”,问题将得到解决