Autore Topic: Gestione Tasti Menù webView  (Letto 701 volte)

Offline ypooc

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lg
Gestione Tasti Menù webView
« il: 26 Agosto 2012, 12:11:40 CEST »
0
Salve ragazzi sono nuovo nel mondo della programmazione per Android. Sto realizzando una semplice app che sfrutta un sito web (webView). Essendo molto semplice va tutto bene nella visualizzazione. Ora però voglio gestire il menù con due tasti, uno per tornare indietro e uno per aggiornare.

Come si nota nel codice ho usato la webViewClient in modo che selezionando un link, la pagina sia gestita all'interno dell'app. Se clicco il pulsante back, l'applicazione si chiude, anche se ho navigato tra i link. Quindi ho disabilitato, per ora, il tasto back per concentrarmi sui tasti del menù. Ho impostato i due tasti, ma pur leggendo tutte le varie guide e i suggerimenti online non riesco ad associare un evento alla pressione del tasto del menù.

Come vedete ho provato con mWebView.goBack(); ma l'app crasha.
Grazie in anticipo.

Codice (Java): [Seleziona]
package it.ciao.ciao;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class LiveActivity extends Activity {

        WebView mWebView;
       
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_live);
        WebView myWebView = (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient());
        myWebView.loadUrl("www.sitoweb.it");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.test_menu, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        switch (item.getItemId())
        {
        case R.id.item1:
                item.setEnabled(true);
                Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT) .show();
                mWebView.goBack();
                return true;
        case R.id.item2:
                item.setEnabled(true);
                Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT) .show();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
    public void onBackPressed(){
        return;
    }
}