1

私はこのコードについて混乱しています.6つのメニュー項目があり、それぞれがWebビューに別のWebページをロードしたいのですが、項目3が選択されたときにどこでこれを行うことができるかわかりません.誰か助けてもらえますか?

@Override
    public boolean onOptionsItemSelected(MenuItem item) {

        // call ActionBarDrawerToggle.onOptionsItemSelected(), if it returns true
        // then it has handled the app icon touch event

            if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
        return true;
    }
        return super.onOptionsItemSelected(item);
    }

そして、私は助けが必要なだけなので、これについて私に虐待を与えないでください:/

私のstrings.xml

<string-array name="items">
    <item>Item 1</item>
    <item>Item 2</item>
    <item>Item 3</item>
    <item>Item 4</item>
    <item>Item 5</item>
    <item>Item 6</item>
</string-array>

そのため、別の項目をクリックするたびに mWebView.loadUrl(""); が実行されます。

完全なコード:

 package com.purelymean.purelymean;

 import android.os.Bundle;
 import android.app.Activity;
 import android.content.res.Configuration;
 import android.support.v4.app.ActionBarDrawerToggle;
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.DrawerLayout;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.Toast;

 public class Main extends Activity {

private String[] drawerListViewItems;
private DrawerLayout drawerLayout;
private ListView drawerListView;
private ActionBarDrawerToggle actionBarDrawerToggle;
WebView mWebView;

protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            mWebView = (WebView) findViewById(R.id.webView1);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("http://www.google.com/");
            mWebView.setWebViewClient(new WebViewClient());

            // get list items from strings.xml
            drawerListViewItems = getResources().getStringArray(R.array.items);
            // get ListView defined in activity_main.xml
            drawerListView = (ListView) findViewById(R.id.left_drawer);

            // Set the adapter for the list view
            drawerListView.setAdapter(new ArrayAdapter<String>(this,
            R.layout.drawer_listview_item, drawerListViewItems));

            // 2. App Icon 
            drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

            // 2.1 create ActionBarDrawerToggle
            actionBarDrawerToggle = new ActionBarDrawerToggle(
            this,                  /* host Activity */
            drawerLayout,         /* DrawerLayout object */
            R.drawable.ic_drawer,  /* nav drawer icon to replace 'Up' caret */
            R.string.drawer_open,  /* "open drawer" description */
            R.string.drawer_close  /* "close drawer" description */
            );

    // 2.2 Set actionBarDrawerToggle as the DrawerListener
    drawerLayout.setDrawerListener(actionBarDrawerToggle);

    // 2.3 enable and show "up" arrow


    // just styling option
            drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);

            drawerListView.setOnItemClickListener(new DrawerItemClickListener());


    }



    @Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    // Sync the toggle state after onRestoreInstanceState has occurred.
     actionBarDrawerToggle.syncState();
}

    @Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    actionBarDrawerToggle.onConfigurationChanged(newConfig);
}


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
               case R.id.first:
                   // do something based on first item click
                   return true;
               case R.id.second:
                   // do something based on second item
                   return true;
       }

        return super.onOptionsItemSelected(item);
    }


    private class DrawerItemClickListener implements ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
                Toast.makeText(Main.this, ((TextView)view).getText(), Toast.LENGTH_LONG).show();
                drawerLayout.closeDrawer(drawerListView);

        }
    }


   }
4

1 に答える 1