M
MandraKobold
Ambitioniertes Mitglied
- 3
Hallo,
ich habe auf eine activity einen SearchDialog gepackt. Dieser wird angezeigt und funktioniert soweit auch einwandfrei, allerdings ist mir aufgefallen, dass wenn ich eine Suchanfrage starte, sprich den Text eingebe und Enter drücke, zur Datenansicht (in ListView) die Activity neu geöffnet wird.
Würde mich ja soweit nicht stören wenn nicht nach 10 Suchanfragen die Activity 10 mal auf den Stack liegen würde und daher 10 mal geschlossen werden muss.
Im moment habe ich es jetzt einfach so gelöst, dass die activity wenn sie in onStop geht geschlossen wird. Allerdings würde mich schon interessieren, ob das normal ist oder ob es ein Fehler meinerseits ist und ob es vielleicht eine bessere alternative gibt.
Hier ein Teil des Codes:
Danke schon mal
LG
Mandra
ich habe auf eine activity einen SearchDialog gepackt. Dieser wird angezeigt und funktioniert soweit auch einwandfrei, allerdings ist mir aufgefallen, dass wenn ich eine Suchanfrage starte, sprich den Text eingebe und Enter drücke, zur Datenansicht (in ListView) die Activity neu geöffnet wird.
Würde mich ja soweit nicht stören wenn nicht nach 10 Suchanfragen die Activity 10 mal auf den Stack liegen würde und daher 10 mal geschlossen werden muss.
Im moment habe ich es jetzt einfach so gelöst, dass die activity wenn sie in onStop geht geschlossen wird. Allerdings würde mich schon interessieren, ob das normal ist oder ob es ein Fehler meinerseits ist und ob es vielleicht eine bessere alternative gibt.
Hier ein Teil des Codes:
Code:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
this.onSearchRequested();
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
Intent Intent = getIntent();
if (Intent.ACTION_SEARCH.equals(Intent.getAction())) {
String query = Intent.getStringExtra(SearchManager.QUERY);
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(
this, MySuggestionProvider.AUTHORITY,
MySuggestionProvider.MODE);
suggestions.saveRecentQuery(query, null);
doMySearch(query);
}
}
private void doMySearch(String query) {
searchObj = new ObjectCatalog();
for (int i = 0; i < _obj.get_obj().size(); i++) {
if (_obj.get(i).getName().startsWith(query))
searchObj.add(_obj.get(i);
}
// display the result
adapter = new ObjectList(this, searchObj);
this.setListAdapter(adapter);
}
Danke schon mal
LG
Mandra