Guest User

Untitled

a guest
Oct 26th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. package com.example.deep_kulshreshtha.expandablelistnavdrawer;
  2.  
  3. import android.app.SearchManager;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.database.ContentObserver;
  7. import android.database.Cursor;
  8. import android.net.Uri;
  9. import android.provider.SearchRecentSuggestions;
  10. import android.support.v4.app.NavUtils;
  11. import android.support.v4.widget.CursorAdapter;
  12. import android.support.v4.widget.ResourceCursorAdapter;
  13. import android.support.v4.widget.SimpleCursorAdapter;
  14. import android.support.v7.app.AppCompatActivity;
  15. import android.os.Bundle;
  16. import android.support.v7.widget.SearchView;
  17. import android.util.Log;
  18. import android.view.LayoutInflater;
  19. import android.view.Menu;
  20. import android.view.MenuItem;
  21. import android.view.View;
  22. import android.view.ViewGroup;
  23. import android.widget.LinearLayout;
  24. import android.widget.ListView;
  25. import android.widget.TextView;
  26. import android.widget.Toast;
  27.  
  28. import java.lang.reflect.Array;
  29. import java.util.Arrays;
  30.  
  31. public class SearchActivity extends AppCompatActivity {
  32.  
  33. static Uri uri = Uri.parse("content://" + MyContentProvider.AUTHORITY + "/suggestions");
  34. Cursor cursor;
  35. SimpleCursorAdapter simpleCursorAdapter;
  36.  
  37. @Override
  38. protected void onCreate(Bundle savedInstanceState) {
  39. super.onCreate(savedInstanceState);
  40. setContentView(R.layout.activity_search);
  41.  
  42. handleIntent(getIntent());
  43.  
  44. this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  45. this.getSupportActionBar().setDisplayShowHomeEnabled(true);
  46.  
  47. cursor = getContentResolver().query(uri, new String[]{"query"}, null, null, null);
  48.  
  49. ListView listView = (ListView) findViewById(R.id.listView);
  50. instantiateAdapter();
  51. listView.setAdapter(simpleCursorAdapter);
  52.  
  53. }
  54.  
  55. private void instantiateAdapter(){
  56.  
  57. simpleCursorAdapter = new SimpleCursorAdapter(this, R.layout.previous_search, cursor,
  58. new String[]{ "query" }, new int[] { R.id.previousSearchTextView },
  59. CursorAdapter.NO_SELECTION);
  60. }
  61.  
  62. @Override
  63. protected void onNewIntent(Intent intent) {
  64. super.onNewIntent(intent);
  65. handleIntent(intent);
  66. }
  67.  
  68. private void handleIntent(Intent intent){
  69.  
  70. if(Intent.ACTION_SEARCH.equals(intent.getAction())){
  71. String queryString = intent.getStringExtra(SearchManager.QUERY);
  72.  
  73. SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
  74. MyContentProvider.AUTHORITY, MyContentProvider.MODE);
  75. suggestions.saveRecentQuery(queryString, null);
  76. }
  77.  
  78. cursor = getContentResolver().query(uri, new String[]{"query"}, null, null, null);
  79. instantiateAdapter();
  80. simpleCursorAdapter.swapCursor(cursor);
  81.  
  82. }
  83.  
  84. @Override
  85. public void onBackPressed() {
  86. super.onBackPressed();
  87. }
  88.  
  89. @Override
  90. public boolean onCreateOptionsMenu(Menu menu) {
  91.  
  92. getMenuInflater().inflate(R.menu.search_menu, menu);
  93. SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
  94.  
  95. SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
  96. searchView.setIconified(false);
  97. searchView.setQueryHint(getString(R.string.search_activity_text));
  98. searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
  99.  
  100. return true;
  101. }
  102.  
  103. public void removeItem(View view){
  104.  
  105. TextView textView = (TextView) ((LinearLayout)view.getParent()).findViewById(R.id.previousSearchTextView);
  106. String queryString = textView.getText().toString();
  107. int deleted = getContentResolver().delete(uri, "query = ?", new String[]{ queryString });
  108. }
  109.  
  110. }
Add Comment
Please, Sign In to add comment