2016-07-06 12 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を返します。

dbHelper.update(calendars); 

あなたが入力する必要があります。

int update = dbHelper.update(calendars); 

または:

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

後者のオプションをお勧めします。あなたの行方を見てください。

関連する問題