Android微调器给出NullPointException

时间:2011-09-12 09:00:08

标签: java android

为什么这段代码会抛出NullPointErexception?

    Spinner spinnerLoadLayouts = (Spinner)this.findViewById(R.id.spnLoadLay);

    ArrayAdapter<CharSequence> adapter = 
    new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_item, new ArrayList<CharSequence>());

    adapter.add("aaa"); adapter.add("bbb");
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerLoadLayouts.setAdapter(adapter);

谢谢! :)

2 个答案:

答案 0 :(得分:1)

我猜视图或活动找不到R.id.spnLoadLay

Quote

  

findViewById:返回:层次结构中具有给定标记的视图或null

答案 1 :(得分:1)

如果错误在最后一行,则spinnerLoadLayouts为NULL。

这可能是因为你只能这样做

(Spinner)this.findViewById(R.id.spnLoadLay);

如果spnLoadLay视图实际位于当前视图中(例如,在XML中,您已经将setContentView称为findViewById)。如果您尚未将其放在屏幕上,则无法使用Inflater找到它。您需要使用{{1}}