화면하나에 리스트 2개를 구현하는 어플을 만들고 있습니다.

 

왼쪽리스트는 배열에서 값을 가져와서 구성하구요

오른쪽 리스트는 DB에서 정보를 가져와서 구성합니다.

 

뿌리는데 까지도 이상없이 잘뿌렸구요...

그런데 문제는 뒤로가기(취소)버튼을 누르면 그 화면이 다시 실행됩니다.

Log를 찍어봐도 그대로 다시 그화면만 실행되네요..ㅠㅠ

 

뒤로가기버튼을 눌렀을때는 전화면으로 가야하는데...

가지를 않고 그화면만 다시 실행됩니다. 이유가 어떤것일까요?

아래는 그화면 소스입니다.

 

public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_unitsel);
  
  Log.d(TAG, "단원을 불러오기 시작합니다.");
  
  //DB확인후 DB파일을 복사한다.
  DBAdapter dba = new DBAdapter(this);
  dba.open();
  
  Log.d(TAG, "DB Open 완료");
  
  gradelist = (ListView)findViewById(R.id.gradelist);
  unitlist = (ListView)findViewById(R.id.unitlist);
  
  //학년셋팅
        String[] grades = {getResources().getString(R.string.grade1), getResources().getString(R.string.grade2), getResources().getString(R.string.grade3), getResources().getString(R.string.grade4),
          getResources().getString(R.string.grade5), getResources().getString(R.string.grade6), getResources().getString(R.string.grade7), getResources().getString(R.string.grade8), getResources().getString(R.string.grade9)};
       
        adapt = new ArrayAdapter<String>(this, R.layout.gradelist_item, grades);
        gradelist.setAdapter(adapt);
       
        Log.d(TAG, "학년리스트를 셋팅완료.");
  
  //단원셋팅  
        String getquery = "select UnitCode as _id, UnitName from itempool_Unit;";
        Log.d(TAG, "단원명을 불러오는 쿼리 --> " + getquery);
  Cursor c = dba.selectExQuery(getquery);
  startManagingCursor(c);
  SimpleCursorAdapter rAdapter = getAdapter(c);
  unitlist.setAdapter(rAdapter);
  
  Log.d(TAG, "단원리스트를 셋팅완료.");
  
  dba.close();
 }
 
 private SimpleCursorAdapter getAdapter(Cursor paramCursor){
  
     String[] columns = new String[] { "UnitName" };
  int[] to = new int[] { R.id.unitname };
  
  SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(unitlist.getContext(), R.layout.unitlist_item, paramCursor, columns, to);
  Log.d(TAG, "단원명 매칭처리 완료");
  
  return mAdapter;
    }