为什么这段代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_assets, container, false);
List<String> states = new ArrayList<String>();
String abs = "AL AK AZ AR CA CO CT DE FL GA HI ID IL IN "
+ "IA KS KY LA ME MD MA MI MN MS MO MT NE NV NH NJ NM NY NC ND OH OK "
+ "OR PA RI SC SD TN TX UT VT VA WA WV WI WY";
for (String parts : abs.split(" ")) {
states.add(parts);
}
EditText store = (EditText) view.findViewById(R.id.store_input_ID);
EditText phone = (EditText) view.findViewById(R.id.phone_input_ID);
EditText address = (EditText) view.findViewById(R.id.address_input_ID);
EditText city = (EditText) view.findViewById(R.id.city_input_ID);
EditText zip = (EditText) view.findViewById(R.id.zip_input_ID);
Spinner myStates = (Spinner) view.findViewById(R.id.bi_spinner);
ArrayAdapter<String> aa = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_dropdown_item, states);
myStates.setAdapter(aa);
return view;
}
在加载时崩溃并在此行给我一个空指针异常
myStates.setAdapter(aa);
我已经尝试移动我将Array
和ArrayList
声明放在我onCreate
之外的第一次充气布局的位置,并在我找到所有{{1}后直接移动但它仍然提供空指针异常。
我似乎无法弄明白,我知道我错过了一些明显的东西。
答案 0 :(得分:2)
您的微调器myStates
为空。确保在bi_spinner
中有一个标识为fragment_assets.xml
的微调器,它应该正确实例化。
答案 1 :(得分:0)
尝试在setAdapter
之前添加以下行:
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);