화면하나에 리스트 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;
}
올려주신 소스로는 예상할수 있는게 너무 한정적이네요 ㅜㅜ.
혹시 리스트에있는 엑티비티에서 취소버튼눌럿을시 동작하는 코드를 작성하셧나요?