我在管理员的活动中列出了我的联系人列表,通过将etat
的值从0更改为1列来确认他们,但是当我这样做时,列表中的所有联系人都已确认
数据库:
public void SETETAT(Contact e) {
//helper.insertContact(c);
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
String query=" update contacts set etat='1' where id="+COLUMN_ID;
Cursor ce=db.rawQuery(query ,null);
int count=ce.getCount();
e.getId();
e.getEmail();
e.getName();
e.getPass();
e.getPhone();
e.getRepass();
values.put(COLUMN_ETAT, e.getEtat());
db.insert(TABLE_NAME, null, values);
db.close();
}
列表
public class Tab2 extends Activity implements OnItemClickListener{
Cursor cursor;
DatabaseHelper db;
String info;
ListView datalist;
ArrayList<String> databaseList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onglet1);
db = new DatabaseHelper(this);
datalist = (ListView) findViewById(R.id.liste);
List<Contact> values = db.getAllContact();
ArrayAdapter<Contact> adapter = new ArrayAdapter<Contact>(Tab2.this,
android.R.layout.simple_list_item_1, values);
datalist.setAdapter(adapter);
datalist.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> l, View v, int position, long id) {
Log.i("HelloListView", "You clicked Item: " + id + " at position:" + position);
Intent intent = new Intent();
intent.setClass(this, Approuver.class);
intent.putExtra("position", position);
intent.putExtra("id", id);
startActivity(intent);
}
}
这是按钮代码
public void con(View v) {
Contact e=new Contact();
helper.SETETAT(e);
Toast m = Toast.makeText(Approuver.this, "demande approuvé", Toast.LENGTH_SHORT);
setContentView(R.layout.activity_main);
m.show();
}
答案 0 :(得分:0)
但是当我这样做时,列表中的所有联系人都被确认
然后你的查询错了。
select deptname, max(salary) from department, employee where
department.deptno=employee.deptno group by deptname;
您可以在Android之外使用SQLite。这可能是调试问题的好方法。
但是,如果我理解正确的话,您会尝试在点击时更新某行的联系人。
为了做到这一点,我认为您应该使用可用的String query=" update contacts set etat='1' where id="+COLUMN_ID;
方法。
因此,将适配器/列表移动到成员变量
Contact.getID()
然后,在侦听器中,您只想更新单击的项目。我不理解你不必要地调用的所有get方法或者带有内容值的insert查询。
ArrayAdapter<Contact> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onglet1);
db = new DatabaseHelper(this);
datalist = (ListView) findViewById(R.id.liste);
adapter = new ArrayAdapter<Contact>(Tab2.this,
android.R.layout.simple_list_item_1, db.getAllContact());
datalist.setAdapter(adapter);