моя проблема кажется простой, но мне не удается найти ответ здесь.
У меня есть разные действия в одном приложении. Мероприятия начинают друг друга.
У меня есть «главный экран» , который показывает все различные доступные уровни, щелчки пользователя на уровне, и эта активность запускается. Когда пользователь заканчивает этот уровень, он может нажать кнопку «Назад», чтобы перейти Главный экран и начать другой уровень.
Когда нажата кнопка «Назад», я хотел бы снова перерисовать «главный экран», так как на этот раз большой палец для пройденного уровня будет другим, чтобы показать, что он пройден.
Итак, как мне выполнить перерисовку активности после нажатия кнопки возврата?
(Полагаю, мне нужно добавить код в метод Activity.onResume)
(Я использую SharedPreferences, чтобы сохранить состояние законченных уровней)
Основное действие на экране:
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);</p>
<code> SharedPreferences settings = getSharedPreferences((getResources().getString(R.string.PREFS_HI)),0);
/**/
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this,(settings.getBoolean("level_1_finished", false))));
/**/
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//Open the map which was clicked on, if there is one
if(position+1 > 1){
Toast.makeText(maps.this, "Level " + (position+1) + " is not yet available!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(maps.this, "Opening Level " + (position+1), Toast.LENGTH_SHORT).show();
Intent myIntent = new Intent(v.getContext(), Tutorial2D.class);
startActivity(myIntent);
}
}
});
}
</code>
Затем ImageAdapter использует логическое значение true / false, чтобы выбрать источник изображения: незаконченный или готовый большой палец.