gpt4 book ai didi

java - 微调器的数组适配器保持错误

转载 作者:行者123 更新时间:2023-11-30 02:57:16 25 4
gpt4 key购买 nike

我想在我的 Google map 类中制作微调器,这样我就可以更改混合、卫星等 googlemaps 的 View 。我在 fragment 内部的 fragment 上制作了一个微调器。当我声明 arrayaddapter 时,它一直显示“不幸的是,--- 已停止”

public class GMaps extends Fragment {

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.popup_map, null, false);

sview = (Spinner)getActivity().findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
list.add("list 1");
list.add("list 2");
list.add("list 3");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sview.setAdapter(dataAdapter);
// ..

我想是因为参数context = this.getActivity()...我试过this.getView(), getActivity(), v.getContext, 都不行。

最佳答案

首先你应该改变这个

sview = (Spinner)getActivity().findViewById(R.id.spinner1);

sview = (Spinner)v.findViewById(R.id.spinner1);

这是因为你的 Spinner view 属于你的 inflated layout view

然后尝试像这样设置适配器:

 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sview.setAdapter(dataAdapter);

关于java - 微调器的数组适配器保持错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23075485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com