Autore Topic: modifica apertura layout ricerca  (Letto 210 volte)

Offline newbie2016

  • Utente junior
  • **
  • Post: 79
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Cubot X9
  • Sistema operativo:
    Windows 7
modifica apertura layout ricerca
« il: 10 Agosto 2016, 19:02:53 CEST »
0
Salve, devo modificare la schermata di ricerca.
Adesso si apre la schermata solo con un campo (Cerca...) in alto  e lo visualizza da qui:
Codice (Java): [Seleziona]
public boolean onCreateOptionsMenu(Menu menu) {

        // adds item to action bar
        getMenuInflater().inflate(R.menu.search_main, menu);

        // Get Search item from action bar and Get Search service
        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchManager searchManager = (SearchManager) CercaActivity.this.getSystemService(Context.SEARCH_SERVICE);
        if (searchItem != null) {
            searchView = (SearchView) searchItem.getActionView();
        }
        if (searchView != null) {
            searchView.setSearchableInfo(searchManager.getSearchableInfo(CercaActivity.this.getComponentName()));
            searchView.setIconified(false);
        }

        return true;
    }

Invece a me serve aprire un layout con altri campi di ricerca (es. professione, città, interessi).
Come posso modificare la parte di codice qui sotto?

Codice (Java): [Seleziona]
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_searchmain);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // adds item to action bar
        getMenuInflater().inflate(R.menu.search_main, menu);

        // Get Search item from action bar and Get Search service
        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchManager searchManager = (SearchManager) CercaActivity.this.getSystemService(Context.SEARCH_SERVICE);
        if (searchItem != null) {
            searchView = (SearchView) searchItem.getActionView();
        }
        if (searchView != null) {
            searchView.setSearchableInfo(searchManager.getSearchableInfo(CercaActivity.this.getComponentName()));
            searchView.setIconified(false);
        }

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        return super.onOptionsItemSelected(item);
    }

    // Every time when you press search button on keypad an Activity is recreated which in turn calls this function
    @Override
    protected void onNewIntent(Intent intent) {
        // Get search query and create object of class AsyncFetch
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            if (searchView != null) {
                searchView.clearFocus();
            }
            new AsyncFetch(query).execute();

        }
    }

in allegato 2 immagini:
la prima è la schermata che visualizzo ora
la seconda è (più o meno) quella che dovrei far visualizzare con altri campi.

Grazie
« Ultima modifica: 10 Agosto 2016, 19:14:21 CEST da newbie2016 »

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 668
  • Respect: +143
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:modifica apertura layout ricerca
« Risposta #1 il: 11 Agosto 2016, 10:39:41 CEST »
+1
Semplice: non devi usare la search bar.

Crea una voce di menù standard ed alla sua selezione avvii un'altra Activity/Fragment. Completato l'inserimento dei parametri li restituisci al chiamante, che effettuerà la ricerca.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.