Advertisement
Guest User

Untitled

a guest
May 28th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. package id.co.rumahcoding.qaamus;
  2.  
  3. import android.database.MatrixCursor;
  4. import android.provider.BaseColumns;
  5. import android.support.v4.widget.CursorAdapter;
  6. import android.support.v4.widget.SimpleCursorAdapter;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.os.Bundle;
  9. import android.support.v7.widget.SearchView;
  10. import android.util.Log;
  11.  
  12. import id.co.rumahcoding.qaamus.models.Entry;
  13. import io.realm.Case;
  14. import io.realm.Realm;
  15. import io.realm.RealmResults;
  16.  
  17. public class MainActivity extends AppCompatActivity {
  18.     private SearchView searchView;
  19.     private SimpleCursorAdapter adapter;
  20.  
  21.     @Override
  22.     protected void onCreate(Bundle savedInstanceState) {
  23.         super.onCreate(savedInstanceState);
  24.         setContentView(R.layout.activity_main);
  25.  
  26.         searchView = (SearchView) findViewById(R.id.search_view);
  27.  
  28.         final String[] from = new String[]{"indonesia"};
  29.         final int[] to = new int[]{android.R.id.text1};
  30.  
  31.         adapter = new SimpleCursorAdapter(this,
  32.                 android.R.layout.simple_spinner_dropdown_item,
  33.                 null, from, to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
  34.         searchView.setSuggestionsAdapter(adapter);
  35.  
  36.         searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
  37.             @Override
  38.             public boolean onQueryTextSubmit(String query) {
  39.                 return false;
  40.             }
  41.  
  42.             @Override
  43.             public boolean onQueryTextChange(String newText) {
  44.                 MatrixCursor mc = new MatrixCursor(new String[]{BaseColumns._ID, "indonesia"});
  45.  
  46.                 // ambil data dari realm
  47.                 Realm realm = Realm.getDefaultInstance();
  48.                 RealmResults<Entry> results = realm
  49.                         .where(Entry.class)
  50.                         .contains("indonesia", newText, Case.INSENSITIVE)
  51.                         .findAll();
  52.  
  53.                 Log.d("MainActivity", "result:" + results.size());
  54.  
  55.                 for(int i = 0; i < results.size(); i++) {
  56.                     Entry entry = results.get(i);
  57.                     Object[] row = new Object[]{entry.getId(), entry.getIndonesia()};
  58.                     mc.addRow(row);
  59.                 }
  60.  
  61.                 adapter.changeCursor(mc);
  62.                 adapter.notifyDataSetChanged();
  63.                 realm.close();
  64.  
  65.                 return true;
  66.             }
  67.         });
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement