Значение текстового поля не обновляется должным образом в соответствии с изменением значения счетчика
в основном действии есть счетчик и 1 текстовое поле fragment.my задача состоит в том, чтобы изменить значение текстового поля в соответствии с недавно выбранным значением счетчика.мой код работает хорошо, но текстовое поле меняет свое состояние только после 2 свайпов.Я не знаю, происходит ли это отставание.помогать мне
вот мой код в основной деятельности
spinner = (Spinner)findViewById(R.id.spinner2); final ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,array2); dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(dataAdapter1); spinner.invalidate(); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //dataAdapter1.notifyDataSetChanged(); Toast.makeText(getApplicationContext(),"well",Toast.LENGTH_LONG).show(); String pos = (String) spinner.getSelectedItem(); SharedPreferences sharedPref = getSharedPreferences("Mode", Activity.MODE_PRIVATE); SharedPreferences.Editor prefEditor = sharedPref.edit(); prefEditor.putString("userChoicemode", pos); prefEditor.commit(); } @Override public void onNothingSelected(AdapterView<?> parent) { } });
мой фрагмент кода :
final TextView modeselect = (TextView) view.findViewById(R.id.pass); final SharedPreferences sharedPref = this.getActivity().getSharedPreferences("Mode", Activity.MODE_PRIVATE); String get = sharedPref.getString("userChoicemode",selected); modeselect.setText("" + get);
Что я уже пробовал:
я пробовал использовать
dataAdapter1.notifyDataSetChanged();но это не работает.
David Crow
Вы не подумали позвонить registerOnSharedPreferenceChangeListener()
в вашем фрагменте?