2009-12-11 7 views
0

작은 응용 프로그램을 만들고 있습니다. 보기 페이지에서 데이터베이스에서 업데이트 및 삭제 작업을 수행하고 상단에 데이터를 표시합니다 (예 : 10 개 레코드). 하단에는 편집 및 삭제 버튼 2 개가 있습니다. 사용자가 편집 버튼을 클릭하면 편집 페이지로 리디렉션됩니다. 편집 페이지에서 편집 할 내용을 표시하고 있는데 버튼 2 개를 업데이트하고 취소 할 수 있습니다. 사용자가 다시 업데이트를 클릭하면 시작 활동을 사용하여보기 페이지로 리디렉션됩니다. 새 레코드가 표시되지 않습니다. 메인 페이지로 돌아가서 뷰 페이지를 클릭하면 업데이트됩니다. 어떻게 해결할 수 있습니까? 사용자가 뒤로 버튼을 클릭하면 (리다이렉트 페이지를 통해) 나가는 모든 페이지로 이동하는 것과 같은 또 다른 문제가 있습니다.뒤로 버튼 문제

예를 들어, 먼저 기본 페이지에서보기 페이지를 클릭합니다. 보기 페이지에서 편집 및 삭제 작업을 수행하고 있습니다.이 작업을 완료하면보기 페이지로 이동합니다. 여기에서 나는 뒤로 버튼을 클릭하고있다. 나는 마지막으로 수행 한 페이지를 편집하거나 삭제하는 이전 페이지로 가고있다. 보기에서 메인 페이지로 이동 (편집 또는 삭제 op 수행 후) 어떻게해야합니까?

+0

쿠마르 한 번에 한 가지 질문 만하면됩니다. 이 질문을 편집하여 다른 질문에 대한 새 질문을 만들어야합니다. –

+0

문제를 더 잘 이해할 수 있도록 몇 가지 코드를 표시 할 수도 있습니다. –

+0

나는 또한 더 많은 구두점을 사용하는 것이 좋습니다. 이 질문을 읽는 것은 지금 매우 어렵습니다! –

답변

0

사용자 편집 데이터에 문제가있어 결과가 표시되지 않는 경우 새 데이터로 채우고 있는지 확인하십시오. 자세한 내용은 this을 참조하십시오.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    mDbHelper = new NotesDbAdapter(this); 
    mDbHelper.open(); 

    setContentView(R.layout.note_edit); 

    mTitleText = (EditText) findViewById(R.id.title); 
    mBodyText = (EditText) findViewById(R.id.body); 

    Button confirmButton = (Button) findViewById(R.id.confirm); 

    mRowId = savedInstanceState != null ? savedInstanceState.getLong(NotesDbAdapter.KEY_ROWID) : null; 
    if (mRowId == null) { 
     Bundle extras = getIntent().getExtras(); 
     mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID) : null; 
} 

private void populateFields() { 
    if (mRowId != null) { 
     Cursor note = mDbHelper.fetchNote(mRowId); 
     startManagingCursor(note); 
     mTitleText.setText(note.getString(
       note.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE))); 
     mBodyText.setText(note.getString(
       note.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY))); 
    } 
}