运行程序时发现Android2.3版本会出现java.lang.NullPointerException的错误,但Android4.0及以上版本均无错误。通过分析错误发现,是PopupWindow构造函数的错误。因为在4.0版本之后做了底层的优化,2.3版本则需要修改构造函数。
错误:
AndroidRuntime java.lang.NullPointerException和android.widget.PopupWindow.setContentView等等错误的解决办法:
构造函数public Popup(Context context, int width, int height)
{
this.mContext = context;
.....
}
修改为public Popup(Context context, int width, int height)
{
super(context);//加上这句
this.mContext = context;
.....
}
或者修改为
public Popup(Context context,View contentView)
{
super(contentView); this.mContext = context;
this.mContentView = contentView;
......
}
即可解决问题。
本文解决了Android2.3版本中使用PopupWindow时出现的java.lang.NullPointerException错误问题,该问题在Android4.0及更高版本中未出现。通过调整PopupWindow构造函数的方式,确保了应用在不同Android版本上的兼容性和稳定性。
1万+

被折叠的 条评论
为什么被折叠?



