2016-06-03 5 views
-1

Zeigen Sie eine ListView mit Daten in MySQL, was ich will, ist zu bestimmten listivew Zeile gehen, wo die E-Mail-Adresse des Benutzers ist.Zeige bestimmte Zeile listiview android (Daten von MySQL)

E-Mail wurde zuvor in SQLITE und MySQL aufgezeichnet, die listview umfasst verschiedene Benutzer mit unterschiedlichen E-Mail. Dies ist mein Code:

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); 

Dies funktioniert nicht, werden alle Daten, aber diese listview zeigt nicht bestimmte Zeile, wo die E-Mail des Benutzers ist. Ich möchte überprüfen, ob die in SQLITE gespeicherte E-Mail-Adresse in der Liste enthalten ist (Anzeige MySQL) und wenn ja, bestimmte Zeile anzeigen. In meinem Code habe ich überprüft und ich kann sehen, dass ich die gleiche Mail in einer der Zeilen (Anzeige von MySQL) und in der textview (Anzeige von SQLITE) habe.

+0

DBhelper.KEY_EMAIL sollte lösen, was auch immer der Spaltenname ist, und ich glaube, es ist Fall abhängt. – MikeT

+0

mysql ist völlig irrelevant zu dieser diskussion – e4c5

+1

@ e4c5 Ich sah fast nicht einmal deswegen. :) – MikeT

Antwort

0

Diese unten überprüfen vollständig falsch. Ihr Prüfzeichenwert mit Integer

 if (listEmail.equals(R.id.list_email)){ 

      listView.setSelection(pos);} 

Stattdessen haben Sie eine mail_id zur Hand und überprüfen Sie es.

mehr innerhalb GetView Implementierung Datenbank-Aufruf wird die Liste Ansicht blättern verlangsamen