0
public int updateData(String tableName,Long id, int fav) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("isFav",fav);
String myid= String.valueOf(id);
Log.w("myApp", myid+ " fav = "+fav);
int i = database.update(tableName, contentValues, "ID=?", new String[]{myid});
if (i > 0)
return 1;
else return 0;
}
iはlistAdapter eは別のクラスがある:クラスDB iは、次のコード
も@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table table1(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT ,detail TEXT ,source TEXT ,isFav INTEGER)");
db.execSQL("create table table2(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT ,detail TEXT,source TEXT ,isFav INTEGER)");
db.execSQL("create table table3(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT ,detail TEXT,source TEXT, isFav INTEGER)");
db.execSQL("create table fav (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT ,detail TEXT,source TEXT ,isFav INTEGER)");
}
、この更新方法コードとしてのonCreateを有するSqliteOpenHelperを拡張しますxtends ArrayAdapterこのクラスから更新したいです。 ボタンをクリックするが、それは を更新する必要があるときgetViewメソッドはonClickListener含まれています:
int a=db.updateData(sh.getString("listType","table1"),arrayList.get(position).getId(),1);
は何..私はそれがwithotの問題を配信(sh.getString( "listType(リストタイプ)"、 "TABLE1"))テーブル名を確実なものとしました私の助けてください
'getId()'メソッドを使用して正しいIDを渡していることを確認しましたか?また、私はsqliteは大文字と小文字を区別しないと思うが、単に "ID"を "id"で置き換えてテストするだけです。 –
はい私はgetId()を確実にしました –
あなたは100%正確であると確信していますか?私は、 '' csr = database.query(tableName、null、 "ID =?"、新しいString [] {myid}、null、null、null、null);を実行することをお勧めします。 ');} '} – MikeT