spinner won't populate from my array [duplicate]

…衆ロ難τιáo~ 提交于 2019-12-25 02:46:54

问题


My app redirects me to a different screen from my home with the tap of a button. Once, i reach my city screen my spinner is visible. But it doesn't contain any elements from my array. Nothing force closes or anything, but it doesn't work.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_city);

    if (savedInstanceState == null) {
        getFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
    }       
}

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_city, container, false);

    String[] test = {"test1", "test2"};
    Spinner spin = (Spinner) v.findViewById(R.id.countries);
    ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, test);
    adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(adapt);
    return v;
}

回答1:


You need to have the below.

 public static PlaceHolderFragment extends Fragment
   {
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_city, container, false);

    String[] test = {"test1", "test2"};
    Spinner spin = (Spinner) v.findViewById(R.id.countries);
    ArrayAdapter<String> adapt = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, test);
    adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(adapt);
    return v;
    }
   }

Also use getActivity() to get the context of hosting activity.



来源:https://stackoverflow.com/questions/23891785/spinner-wont-populate-from-my-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!