I Bild angezeigt werden soll + tel number.I für Kontakt eine Klasse erstellen haben:getView nicht zurück Daten
public class Contact {
private int CTC_ID;
private byte[] CTC_IMAGE;
public String CTC_NOM;
public String CTC_NUMERO;
public Contact(){
}
public Contact(byte[] CTC_IMAGE, String CTC_NOM, String CTC_NUMERO){
this.CTC_IMAGE = CTC_IMAGE;
this.CTC_NOM = CTC_NOM;
this.CTC_NUMERO = CTC_NUMERO;
}
public Contact(String CTC_NOM, String CTC_NUMERO){
this.CTC_NOM = CTC_NOM;
this.CTC_NUMERO = CTC_NUMERO;
}
public int getCTC_ID(){
return CTC_ID;
}
public byte[] getCTC_IMAGE(){return CTC_IMAGE; }
public String getCTC_NOM() {
return CTC_NOM;
}
public String getCTC_NUMERO() {
return CTC_NUMERO;
}
public void setCTC_ID(int CTC_ID) {
this.CTC_ID = CTC_ID;
}
public void setCTC_IMAGE(byte[] CTC_IMAGE) { this.CTC_IMAGE = CTC_IMAGE;}
public void setCTC_NOM(String CTC_NOM) { this.CTC_NOM = CTC_NOM;}
public void setCTC_NUMERO(String CTC_NUMERO) {
this.CTC_NUMERO = CTC_NUMERO;
}
public String toString(){
return "ID : "+CTC_ID+"\nimage : "+CTC_IMAGE+"\nnom : "+CTC_NOM+"\nnumero : "+CTC_NUMERO;
}
}
Für Add Kontakt in die Liste I mein databaseHelper in Methode fetchAllContactDetail haben:
public ArrayList<Contact> fetchAllContactDetail() {
SQLiteDatabase db = this.getWritableDatabase();
ArrayList<Contact> contactListe = new ArrayList<>();
Cursor mCursor = db.query(TABLE_CONTACT, new String[]{"CTC_ID _id", KEY_CTC_IMAGE, KEY_CTC_IMAGE, KEY_CTC_NOM, KEY_CTC_NUMERO}, null, null, null, null, null);
if (mCursor.moveToFirst()) {
do {
byte[] image = mCursor.getBlob(mCursor.getColumnIndex(KEY_CTC_IMAGE));
String name = mCursor.getString(mCursor.getColumnIndex(KEY_CTC_NOM));
String numero = mCursor.getString(mCursor.getColumnIndex(KEY_CTC_NUMERO));
contactListe.add(new Contact(image, name, numero));
} while (mCursor.moveToNext());
}
return contactListe;
}
ContactAdapter erstreckt BaseAdapter
habe ich erstellen:
public class ContactAdapter extends BaseAdapter {
private Context context;
private ArrayList<Contact> contactList = new ArrayList<Contact>();
// Constructor
public ContactAdapter(Context context, ArrayList<Contact> contactList) {
this.context = context;
this.contactList.addAll(contactList);
}
@Override
public int getCount() {
return contactList.size();
}
@Override
public Object getItem(int position) {
return contactList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
private class ViewHolder{
ImageView img;
TextView name;
}
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
View row = view;
ViewHolder holder = new ViewHolder();
if(row == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.contact_item, null);
}
Contact contact = contactList.get(position);
if (contactList != null) {
holder.name = (TextView) row.findViewById(R.id.name);
holder.img = (ImageView) row.findViewById(R.id.img);
holder.name.setText(contact.getCTC_NUMERO());
byte[] contactImage = contact.getCTC_IMAGE();
Bitmap bitmap = BitmapFactory.decodeByteArray(contactImage, 0, contactImage.length);
holder.img.setImageBitmap(bitmap);
row.setTag(holder);
}
return row;
}
}
Und kehre ich dies in m y mainActivity:
public class MainActivity extends AppCompatActivity {
private ListView lstViewContact;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lstViewContact = (ListView) findViewById(R.id.lvContact);
displayContact();
}
public void displayContact() {
//On ouvre la base de données pour écrire dedans
DatabaseHelper dbHelper = new DatabaseHelper(this);
final ContactAdapter contactAdapter = new ContactAdapter(this, dbHelper.fetchAllContactDetail());
lstViewContact.setAdapter(contactAdapter);
}
}
Meine Datenbank haben 2 Kontakt und es ist Rückkehr von contactListe
In meinem ContactAdapter die
@Override
public int getCount() {
return contactList.size();
}
Return 2, es ist ok.
Ich sage nicht, wo das Problem ist.
Vielen Dank für Ihre Hilfe.
Ich versuche, dies aber nicht mein Problem x) nicht –
wieder das gleiche Problem geändert: ‚( –
Ist es abstürzt oder Daten sind leer –