@NonNull @SuppressLint("InflateParams") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { FragmentActivity activity = getActivity(); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = activity.getLayoutInflater(); View view = inflater.inflate(R.layout.solarsystem, null); builder.setView(view); builder.setPositiveButton("Set", new MarketFetchClickListener()); builder.setNegativeButton("Cancel", null); Spinner sp_region = (Spinner) view.findViewById(R.id.sp_solarsystem_region); sp_system = (Spinner) view.findViewById(R.id.sp_solarsystem_system); system = 30000142; regions = Starmap.getRegions(); ArrayList<CharSequence> region_list = new ArrayList<>(); for (SolarSystemRegion r : regions) { region_list.add(r.Name); } ArrayAdapter<CharSequence> region_adapter = new ArrayAdapter<>(activity, android.R.layout.simple_spinner_item, region_list); region_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); SolarSystemRegion reg = Starmap.getRegion(Starmap.getSolarSystem(system).Region); sp_region.setAdapter(region_adapter); sp_region.setSelection(regions.indexOf(reg), true); setRegionSystems(reg); sp_region.setOnItemSelectedListener(new RegionSelectedListener()); sp_system.setOnItemSelectedListener(new SystemSelectedListener()); return builder.create(); }
private void updateSystem(Spinner spinner, int system) { RecentSystemsDA.putSystem(system); system_ids = new ArrayList<>(); List<String> system_names = new ArrayList<>(); for (int id : RecentSystemsDA.getSystems()) { system_ids.add(id); system_names.add(Starmap.getSolarSystem(id).Name); } system_ids.add(-1); system_names.add("[ Other ... ]"); ArrayAdapter<String> sys_spinner_adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, system_names); sys_spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(sys_spinner_adapter); spinner.setSelection(system_ids.indexOf(system)); }
private void setRegionSystems(SolarSystemRegion r) { Activity act = getActivity(); systems = Starmap.getSolarSystems(r.ID); ArrayList<CharSequence> systems_list = new ArrayList<>(); for (SolarSystem s : systems) { systems_list.add(s.Name); } ArrayAdapter<CharSequence> systems_adapter = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, systems_list); systems_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp_system.setAdapter(systems_adapter); int index = systems.indexOf(Starmap.getSolarSystem(system)); if (index == -1) { system = systems.get(0).ID; sp_system.setSelection(0, true); } else { sp_system.setSelection(index, true); } }