Back to project page Ascent.
The source code is released under:
GNU General Public License
If you think the Android project Ascent listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package be.sourcery.ascent; // w w w .j a v a 2s. c om import android.annotation.TargetApi; import android.app.ActionBar; import android.app.ListActivity; import android.app.SearchManager; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.os.Build; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SearchView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; public class SearchAscentsActivity extends ListActivity { private InternalDB db; private ListView listView; private TextView textView; private long crag_id = -1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search_ascents); setupActionBar(); db = new InternalDB(this); textView = (TextView) findViewById(R.id.text); listView = (ListView) findViewById(android.R.id.list); // Get the intent, verify the action and get the query Intent intent = getIntent(); handleIntent(intent); } @Override protected void onNewIntent(Intent intent) { handleIntent(intent); } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { Bundle bundle = getIntent().getBundleExtra(SearchManager.APP_DATA); if (bundle != null) { crag_id = bundle.getLong("crag_id"); } String query = intent.getStringExtra(SearchManager.QUERY); doMySearch(query); } } private void doMySearch(String query) { Cursor cursor = db.searchAscents(query, crag_id); if (cursor == null) { // There are no results textView.setText(getString(R.string.no_results, new Object[] {query})); } else { // Display the number of results int count = cursor.getCount(); String countString = getResources().getQuantityString(R.plurals.search_results, count, new Object[] {count, query}); textView.setText(countString); // Create a simple cursor adapter for the definitions and apply them to the ListView final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.ascent_list_item, cursor, new String[] {"date", "style", "route_grade", "route_name", "comment"}, new int[] {R.id.dateCell, R.id.styleCell, R.id.gradeCell, R.id.nameCell, R.id.commentCell}, 0); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View view, int position, long row) { long id = adapter.getItemId(position); Ascent ascent = db.getAscent(id); editAscent(ascent); } }); } } private void editAscent(Ascent ascent) { Intent myIntent = new Intent(this, EditAscentActivity.class); Bundle b = new Bundle(); b.putLong("ascentId", ascent.getId()); myIntent.putExtras(b); startActivity(myIntent); } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_actionbar, menu); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setIconifiedByDefault(false); } return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; go home Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } public void onDestroy() { super.onDestroy(); db.close(); } @TargetApi(11) protected void setupActionBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } } }