使用ListView
中的数据显示MySQL
,我想要的是转到用户电子邮件所在的特定listivew
行。
电子邮件之前已记录在SQLITE
和MySQL
中,listview
包含具有不同电子邮件的不同用户。
这是我的代码:
SimpleAdapter adapter2 = new SimpleAdapter(this,list, R.layout.b_server_list_item,
new String[]{Config.TAG_EMAIL,Config.TAG_ID,Config.TAG_FOTO,Config.TAG_NOMBRE,Config.TAG_PESO,Config.TAG_VASOS,Config.TAG_SEGUIMIENTO},
new int[]{R.id.list_email,R.id.id,R.id.foto_id, R.id.Nombre, R.id.Peso, R.id.Vasos, R.id.Seguimiento}) {
@Override
public View getView (int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView receiverIdTextView = (TextView) view.findViewById(R.id.Rank);
int pos = position+1;
receiverIdTextView.setText("" + pos); //this all work OK
SQLiteDatabase datos;
datos = getApplicationContext().openOrCreateDatabase("DBMIEMBRO", Context.MODE_PRIVATE, null);
String query_email = "SELECT * from usermail order by _id DESC limit 1";
Cursor c_email = datos.rawQuery(query_email, null);
c_email.moveToFirst();
//i comproved if has data. It has and display ok in TextView
//My proble begin here, i dont know if is the correct way to do what i want
String listEmail = (c_email.getString(c_email.getColumnIndex(DBhelper.KEY_EMAIL)));
if (listEmail.equals(R.id.list_email)){
listView.setSelection(pos);}
/.../
return view;
}
};
listView.setAdapter(adapter2);
这不起作用,显示所有数据,但此listview
未显示用户电子邮件所在的特定行。我想检查SQLITE
中存储的电子邮件是否在列表中(显示MySQL
),如果是,则显示特定行。在我的代码中,我检查过,我可以看到我在其中一行(显示MySQL
)和textview
(显示SQLITE
)中有相同的邮件。
答案 0 :(得分:0)
以下检查完全错误。您的检查字符串值为整数
if (listEmail.equals(R.id.list_email)){
listView.setSelection(pos);}
而不是那个有mail_id方便并检查它。
更多内部getview实现数据库调用将减慢列表视图滚动