获取一个NullExceptionPointer我的Button setOnClickListener()方法得到一个NullException错误。至于为什么会发生这种事,我有点惊慌失措。请记住,这是我的第一个Android应用程序,并且我认为肯定会有一些运行时错误(没有编译错误)。我的setOnClickListener()
btnNaira.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dollarToNaira();
}
});
的dollarToNaira()方法可以在这里找到:
public void dollarToNaira() {
try {
dollarAmt = txtAmount.getText().toString();
nairaAmt = (Double.parseDouble(dollarAmt) * 199.00);
lblOutput.setText(dollarAmt + "U.S. Dollars = " + nairaAmt + " Nigerian Naira.");
}catch(Exception ex) {
message = "Please enter a valid numerical amount";
lblOutput.setText(message);
}finally {
txtAmount.requestFocus();
txtAmount.selectAll();
}
}
请告诉我,我在做什么错了,我想知道是什么原因导致setOnClickListener方法返回NULL。谢谢!
编辑:这是整个onCreate()方法,我不相信,我犯了一个错误:
protected void onCreate(Bundle savedInstanceState) {
txtAmount = (EditText) findViewById(R.id.txtAmount);
btnNaira = (Button) findViewById(R.id.btnNaira);
btnCFA = (Button) findViewById(R.id.btnCFA);
lblOutput = (TextView) findViewById(R.id.lblOutput);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//set up event listener on btnNaira and btnCFA
btnNaira.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dollarToNaira();
}
});
btnCFA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dollarToCFA();
}
});
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
可以粘贴堆栈跟踪以及代码周围的seOnClickListener方法调用 – Mo1989
setOnclickListener之前还添加代码,我怀疑你没有初始化按钮/视图 – AAnkit
你好,我已经初始化按钮/视图。我不明白我为什么遇到这个错误。就像你们说的,我的代码没有错误,看起来完美无瑕。所以有些东西一定是错的,它会导致运行时错误。谢谢! – Linuxn00b