android上的nullpointer异常

时间:2017-12-26 14:39:48

标签: java android nullpointerexception

我只是不明白为什么我对此有一个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;
        }
    }
};


}

我不明白我的错误,这很简单,我不知道问题出在哪里。我无法得到我的领域并打印出结果。

2 个答案:

答案 0 :(得分:3)

private EditText field;

您定义了编辑文字

你又完成了它

EditText field = (EditText) findViewById(R.id.field);

答案 1 :(得分:1)

这是因为您已经两次声明了EditText。 从“EditText field = ......”中删除“EditText” 问题将得到解决