膨胀视图并设置onclicklistener导致nullpointer

时间:2014-01-22 23:14:32

标签: java android

以下代码导致问题。

item = (RelativeLayout)findViewById(R.id.submenu_layout);

        child = getLayoutInflater().inflate(R.layout.layout_mainscreen_submenu_seismometer, item);

        //Load the views. Do this every time, avoid null reference.
        mAusisImage = (ImageView) findViewById(R.id.ausis_image);
        mAusisText = (TextView) findViewById(R.id.ausis_text);

        mAusisImage.setOnClickListener(this); // << Issue here. Null.
        mAusisText.setOnClickListener(this);

在对此视图进行充气时,会在突出显示的行上产生nullpointerexception。

我已尝试使用该项来查找ViewByID,但它不起作用。


我忘了将视图添加到ViewGroup,傻我。以下代码修复了它:

//Before the onClickListner
item.addView(child);

1 个答案:

答案 0 :(得分:0)

从我的头顶尝试这个:

mAusisImage = (ImageView) child.findViewById(R.id.ausis_image);

猜测第二个setOnClickListener也将抛出NPE,只对该视图执行相同的操作

猜测ImageView在R.layout.layout_mainscreen_submenu_seismometer范围内,但由于短代码片段,我无法确定:)