Search Dialog startet neue activity

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:

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
 
android:launchMode="singleTask"

Ist das was du suchst.
 
  • Danke
Reaktionen: MandraKobold
Danke.
Das Hilft und die ganze activity ist einen tick schneller :thumbup:
 

Ähnliche Themen

D
  • Data2006
Antworten
14
Aufrufe
487
jogimuc
J
W
  • waltsoft
Antworten
4
Aufrufe
944
waltsoft
W
M
  • maksimilian
Antworten
15
Aufrufe
1.701
maksimilian
M
Zurück
Oben Unten