2016-07-06 3 views
1

응용 프로그램을 개발 중입니다. 데이터를 수정할 때 이전 데이터가 표시되고 업데이트 된 데이터는 표시되지 않습니다. 이것은 ModifyActivity.java 파일입니다.SQLite 데이터베이스가 응용 프로그램 내에서 업데이트되지 않습니다.

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class ModifyCountryActivity extends Activity implements OnClickListener { 

private EditText titleText, dateText, timeText; 
private Button updateBtn, deleteBtn; 

public Calendars calendars; 


private DatabaseHelper dbHelper; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setTitle("Modify Record"); 

    setContentView(R.layout.activity_modify_record); 

    dbHelper = new DatabaseHelper(this); 
    calendars = new Calendars(); 

    titleText = (EditText) findViewById(R.id.title_edittext_modify); 
    timeText = (EditText) findViewById(R.id.time_edittext_modify); 
    dateText = (EditText) findViewById(R.id.date_edittext_modify); 

    updateBtn = (Button) findViewById(R.id.btn_update); 
    deleteBtn = (Button) findViewById(R.id.btn_delete); 

    Intent intent = getIntent(); 
    String title = intent.getStringExtra("title"); 
    String time = intent.getStringExtra("time"); 
    String date = intent.getStringExtra("date"); 

    titleText.setText(title); 
    timeText.setText(time); 
    dateText.setText(date); 

    updateBtn.setOnClickListener(this); 
    deleteBtn.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.btn_update: 
      titleText.setText(titleText.getText().toString() + " "); 
      timeText.setText(dateText.getText().toString() + " "); 
      dateText.setText(timeText.getText().toString() + " "); 

      calendars.set_remindertitle(titleText.getText().toString() + " "); 

      calendars.set_reminderdate(dateText.getText().toString() + " "); 
      calendars.set_remindertime(timeText.getText().toString() + " "); 

      dbHelper.update(calendars); 

      this.returnHome(); 
      break; 

     case R.id.btn_delete: 
      dbHelper.delete(calendars); 
      this.returnHome(); 
      break; 
    } 
} 

public void returnHome() { 
    Intent home_intent = new Intent(getApplicationContext(), CountryListActivity.class) 
      .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(home_intent); 
    } 
} 

데이터베이스가 업데이트되지 않습니다. 이전 데이터를 다시 표시합니다. 이것은 데이터베이스 클래스입니다 :

나는 업데이트 버튼이 잘 작동해야한다고 생각합니다. 나는 Android에 익숙하지 않으며이 문제를 해결하는 방법을 모른다. 그것을 해결하는 방법에 대한 제안?

답변

0

당신은 업데이트 기능이 아니라 입력하는 것보다, 당신의 onClick 기능에 다음에, int 반환하는 경우 :

int update = dbHelper.update(calendars); 

또는 :

if (dbHelper.update(calendars) > 0) { 
    // do something here 
} 

dbHelper.update(calendars); 

당신은 입력해야

후자의 옵션을 권하고 싶습니다. 어떻게 지내세요.

관련 문제