public boolean onOptionsItemSelected(MenuItem item)
{
//check selected menu item
switch (item.getItemId()) {
case R.id.exit:
this.finish();
return true;
case R.id.basic:
Difficulty = DIFFICULTY_BASIC;
Toast.makeText(YogaPosesActivity.this, "Difficulty is Basic", Toast.LENGTH_SHORT).show();
SetImageView(myDbHelper);
return true;
case R.id.advanced:
Toast.makeText(YogaPosesActivity.this, "Difficulty is Advanced", Toast.LENGTH_SHORT).show();
Difficulty = DIFFICULTY_ADVANCED;
SetImageView(myDbHelper);
return true;
case R.id.allPoses:
Toast.makeText(YogaPosesActivity.this, "All Poses Will Be Displayed", Toast.LENGTH_SHORT).show();
Difficulty = DIFFICULTY_ADVANCED_AND_BASIC;
SetImageView(myDbHelper);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
当我调用SetImageView函数时出现错误,该函数是在OnCreate Activity中定义的。除非在OnCreate中定义了函数,否则不能调用函数?
调用函数时出现nullPointer异常。
答案 0 :(得分:0)
如果在Activity内部(以及onCreate()之外)定义了SetImageView(myDbHelper),则可以像调用它一样调用它。
如果您收到nullPointer异常,原因可能是myDbHelper仍然为null。 检查是否属实。
顺便说一句,Java建议我们为方法或变量的第一个字母小写,并使用大写字母。
抱歉,我无法发表评论,因为我没有足够的意见,所以我必须直接回答,即使我没有所有的信息。如果您发布更多代码和logcat信息。我会修改我的答案。