Народ,
После долгих поисков, попыток, испытаний и множества других вещей я ответил на свой вопрос.
Это что-то, что может быть Doh!отвечаю за программистов, но я не программист, я учусь и делаю это как школьный проект, поэтому мои знания Java даже не могут быть названы «базовыми».
Это ответ на мойсобственный вопрос;
String CountryName = preferences.getString("country name", null);
List<String> lCounties = Arrays.asList(Counties(CountryName).split(","));
CharSequence[] csCounties = lCounties.toArray(new CharSequence[lCounties.size()]);
final Spinner sCounty = (Spinner) findViewById(R.id.county);
ArrayAdapter<CharSequence> aCounty = new ArrayAdapter<CharSequence>(
this, android.R.layout.simple_spinner_item,csCounties);
aCounty.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sCounty.setAdapter(aCounty);
sCounty.setSelection(preferences.getInt("county",0));
sCounty.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){
int iCounty = sCounty.getSelectedItemPosition();
String CountyName = sCountry.getItemAtPosition(arg2).toString();
SharedPreferences.Editor editor = preferences.edit();
editor.putString("county name", CountyName);
editor.putInt("county", iCounty);
editor.commit();
//Refresh Page is county has changed
if (oCounty != iCounty){ refresh(); }
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
Теперь это объяснение (насколько я понимаю ...)
Сначала я читаю страну с другого счетчика (у меня «несколько» счетчиков, соединенных вместе)
String CountryName = preferences.getString("country name", null);
Затем я использую эту информацию для вызова подкласса (я тоже могу опубликовать это).Этот подкласс связывается с сервером, чтобы создать запрос MySQL и получить необходимую информацию;в этом случае округа (или штаты) для данной страны, список получен как state1, state2, state3, [это было отформатировано на PHP на сервере, чтобы помочь]
List<String> lCounties = Arrays.asList(Counties(CountryName).split(","));
CharSequence[] csCounties = lCounties.toArray(new CharSequence[lCounties.size()]);
Следующие строкикода - это фактически Spinner, в сети есть много информации о счетчике, поэтому я не буду объяснять многое из этого.
Счетчик считывает сохраненную информацию, используя эту строку;
sCounty.setSelection(preferences.getInt("county",0));
это позволяет предварительно заполнить счетчик выбором пользователей.
Затем я сохраняю выбор, я сохраняю как имя, так и указатель.Имя сохраняется для завершения URL-адреса при загрузке страницы и сохранении указателя, потому что Spinner, похоже, любит указатели.
SharedPreferences.Editor editor = preferences.edit();
editor.putString("county name", CountyName);
editor.putInt("county", iCounty);
editor.commit();
Последнее, что я делаю, - сравнение, переменная oCounty
- эточитать при загрузке страницы, он просто читает файл preference
и сохраняет значение в oCounty
(округ оригинал), если имя округа изменяется, то он вызывает refresh()
, этот подкласс обновляет страницу.[Это тоже было очень сложно для меня собрать]
//Refresh Page is county has changed
if (oCounty != iCounty){ refresh(); }
Теперь все работает так, как только страна выбрана из списка, страница переходит на сервер, загружает округа /штаты для страны и обновили страницу, таким образом загрузив значения на счетчик, если страна изменится, процесс снова загрузит округа / штаты.
Тот же код используется с округами / штатами для загрузкигорода, я просто изменил имена переменных.
Я уверен, что у программистов есть более хороший, быстрый и быстрый способ сделать это, но это мои 2 цента о том, как заполнить счетчики информацией, хранящейся в базе данных MySQL.на сервере.
С уважением;Рамона