Autore Topic: ListView di WebView differenti  (Letto 374 volte)

Offline slash89mf

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S I9000
  • Play Store ID:
    slash89mf
  • Sistema operativo:
    Ubuntu 11.10
ListView di WebView differenti
« il: 16 Marzo 2012, 14:17:23 CET »
0
Salve a tutti, sono alle prime armi col mondo android, volevo chiedere un parere a voi esperti su come realizzare un'applicazione. L'obiettivo è creare una lista di elementi (ListView) dove cliccando su ogni elemento si apra una WebView, però ogni elemento deve avere un url diverso. Ho realizzato il codice per far funzionare il tutto, quello che mi manca è un metodo per far aprire diverse webview a seconda di quale elemento si scelga di aprire. Eccovi il codice:

Questa è l'activity principale:

Codice: [Seleziona]
public class SportnewsActivity extends ListActivity {
        String[] DayOfWeek = {"Sunday", "Monday", "Tuesday",
                          "Wednesday", "Thursday", "Friday", "Saturday"
                        };

                           /** Called when the activity is first created. */
                           @Override
                           public void onCreate(Bundle savedInstanceState) {
                               super.onCreate(savedInstanceState);
                               //setContentView(R.layout.main);
                               setListAdapter(new ArrayAdapter<String>(this,
                                 R.layout.row, R.id.weekofday, DayOfWeek));
                           }

                        @Override
                        protected void onListItemClick(ListView l, View v, int position, long id) {
                         // TODO Auto-generated method stub
                                //super.onListItemClick(l, v, position, id);
                                super.onListItemClick(l,v,position,id);
                            Intent in = new Intent(this,WebViewPage.class);
                            startActivity(in);
                        }
        }

E questo è il codice della webview, con le varie opzioni del caso:

Codice: [Seleziona]
public class WebViewPage  extends Activity{
        WebView wbView;
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webviewpage);
            wbView = (WebView) findViewById(R.id.WebView);
            wbView.getSettings().setJavaScriptEnabled(true);
            wbView.loadUrl("[url=http://www.google.com]Google[/url]");
            wbView.setWebViewClient(new HelloWebViewClient());
   }

        private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
            }
   
   
        }
       
        @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
       
                if ((keyCode == KeyEvent.KEYCODE_BACK) && wbView.canGoBack()) {
                wbView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
       
        public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu); // Add menu items, second value is the id, use this in the onCreateOptionsMenu
        menu.add(0, 1, 0, "Indietro");
        menu.add(0, 2, 0, "Aggiorna");
        menu.add(0, 3, 0, "Avanti");
        return true; // End of menu configuration
    }
    public boolean onOptionsItemSelected(MenuItem item){ // Called when you tap a menu item
        switch (item.getItemId()){
            case 1: //If the ID equals 1, go back
                    wbView.goBack();
            return true;
            case 2 : //If the ID equals 2, refresh
                    wbView.reload();
            return true;
            case 3: //If the ID equals 3, go forward
                    wbView.goForward();
            return true;         
            }
        return false;
        }
       
}

Qualcuno sa come fare oppure ha idee?