내 문제는 단순 해 보이지만 여기서 답을 찾을 수는 없습니다.안드로이드에서 액티비티를 다시 그릴 때
한 가지 응용 프로그램에서 다른 활동이 있습니다. 활동이 서로 시작됩니다. "주 화면"은 사용 가능한 모든 수준을 표시하고 사용자가 한 수준을 클릭하면 그 활동이 점심을 먹으며 사용자가 그 수준을 완료하면 뒤로 단추를 눌러 주 화면으로 이동할 수 있습니다 다른 레벨을 시작하십시오. 다시 버튼을 누르면 "주 화면"을 다시 그리기를 원합니다. 이번에는 완성 된 레벨의 엄지 손가락이 다르기 때문에 완료되었음을 나타냅니다.
그렇다면 뒤로 버튼을 눌렀을 때 액티비티에 다시 그리기를 실행하려면 어떻게해야합니까?
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);
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); } } }); }
: 이 이
메인 화면 활동 (I 완료 수준의 상태를 저장 된 SharedPreferences를 사용) (나는 내가 Activity.onResume 방법에 약간의 코드를 삽입해야 가정)은 기본적으로 이것이다
ImageAdapter는 boolean true/false를 사용하여 미완성 된 엄지 손가락이나 완성 된 레벨 엄지 손가락의 이미지 소스를 선택합니다.
귀하가 직접 질문에 답변했으며, onResume을 재정 의하여 메소드의 버튼을 업데이트하십시오. –
"주 화면"은 onCreate 메서드로 만든 gridView입니다. 나는 같은 것을 할 싶습니다 : – theAlse
당신의 onResume 방법에서 onCreate를 호출하지 않는, 이것은 옳은 방법이 아니다 @Override 공공 무효 onResume() {/ * \t은/* 여기에서 onCreate 호출} 그것. 모든 요소를 다시 그리지 않고 한 요소 만 업데이트하면됩니다. – gulbrandr