package com.example.maciek.projekt; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; public class kontaktylista2 extends AppCompatActivity { ArrayList lista = new ArrayList(); SQLiteDatabase myDB; EditText szukanytekst; ListView list; CustomAdapter2 customAdapter; public void listaprzypomnien(String string) { Cursor c; if(string == null || string.equals("")) { c = myDB.rawQuery("select Imie, Nazwisko, Telefon, Email, Plec, id, Avatar from kontakty", null); } else { c = myDB.rawQuery("select Imie, Nazwisko, Telefon, Email, Plec, id, Avatar from kontakty WHERE Imie LIKE '%"+string+"%' OR Nazwisko LIKE '%"+string+"%' OR Telefon LIKE '%"+string+"%' OR Email LIKE '%"+string+"%'", null); } while (c.moveToNext()) { String Imie = c.getString(0); String Nazwisko = c.getString(1); String Telefon = c.getString(2); String Email = c.getString(3); String Plec = c.getString(4); int id = c.getInt(5); byte[] avatar = c.getBlob(6); lista.add(new listacustom2(Imie, Nazwisko, Telefon, Email, Plec, id, avatar)); } c.close(); // lista.add(new listacustom2("aa","aa","aa","aa","aa",5)); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_kontaktylista2); myDB = openOrCreateDatabase("my.db", MODE_PRIVATE, null); myDB.execSQL( "CREATE TABLE IF NOT EXISTS kontakty (id INTEGER PRIMARY KEY AUTOINCREMENT, Imie VARCHAR(200), Nazwisko VARCHAR(200), Telefon VARCHAR(200), Email VARCHAR(200), Plec VARCHAR(1), Avatar BLOB, Wybrany INTEGER)" ); list = (ListView) findViewById(R.id.kontaktylista); customAdapter = new CustomAdapter2(); aktualizuj(null); szukanytekst=(EditText) findViewById(R.id.editText10); szukanytekst.addTextChangedListener(szukajkatextwatcher); } public void aktualizuj(String string) { lista.clear(); listaprzypomnien(string); if(lista.size()==0) { Toast.makeText(getApplicationContext(), "Brak kontaktow!", Toast.LENGTH_SHORT).show(); } list.setAdapter(customAdapter); } private TextWatcher szukajkatextwatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // aktualizuj(szukanytekst.getText().toString()); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { aktualizuj(szukanytekst.getText().toString()); } @Override public void afterTextChanged(Editable s) { // aktualizuj(szukanytekst.getText().toString()); } }; class CustomAdapter2 extends BaseAdapter { @Override public int getCount() { return lista.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { view = getLayoutInflater().inflate(R.layout.rowkontakty,null); TextView textImie = (TextView)view.findViewById(R.id.textcontactname); TextView textNazwisko = (TextView)view.findViewById(R.id.textcontactlastname); TextView textTelefon = (TextView)view.findViewById(R.id.textcontactphone); textImie.setText(lista.get(i).Imie); textNazwisko.setText(lista.get(i).Nazwisko); textTelefon.setText(lista.get(i).Telefon); if(lista.get(i).Avatar.length >= 1) { Bitmap Avatar = BitmapFactory.decodeByteArray(lista.get(i).Avatar, 0, lista.get(i).Avatar.length); ImageView imageview = (ImageView) view.findViewById(R.id.imageViewavatar); imageview.setImageBitmap(Avatar); } final int ii = i; view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { view.setBackgroundResource(R.color.colorPrimaryDark); Intent intent = new Intent(kontaktylista2.this, KontaktyDisplay.class); intent.putExtra("id", lista.get(ii).id); startActivity(intent); finish(); } }); return view; } } class listacustom2 { public int id = 0; public String Imie=""; public String Nazwisko=""; public String Telefon=""; public String Email=""; public String Plec=""; public byte[] Avatar=null; listacustom2(String Imie, String Nazwisko, String Telefon, String Email, String Plec, int id, byte[] Avatar) { this.Imie = Imie; this.Nazwisko = Nazwisko; this.Telefon = Telefon; this.Email = Email; this.Plec = Plec; this.Avatar=Avatar; this.id = id; } } }