android上的nullpointer异常[重复]

问题描述 投票:1回答:2

这个问题在这里已有答案:

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


}

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

java android nullpointerexception
2个回答
3
投票
private EditText field;

您定义了编辑文本

你又做完了

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

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.