Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mDrawer can';t在android上工作>;3._Java_Android_Android Fragments - Fatal编程技术网

Java mDrawer can';t在android上工作>;3.

Java mDrawer can';t在android上工作>;3.,java,android,android-fragments,Java,Android,Android Fragments,我用简单的webview和mDrawer幻灯片菜单构建了一个应用程序。但在看到它在>3 android上不起作用后,我添加了一个支持库并做了一些更改,但它仍然不起作用。 这是密码 import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import andro

我用简单的webview和mDrawer幻灯片菜单构建了一个应用程序。但在看到它在>3 android上不起作用后,我添加了一个支持库并做了一些更改,但它仍然不起作用。 这是密码

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;

import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.view.View.OnKeyListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

@SuppressLint("NewApi")
public class MainActivity extends ActionBarActivity   {

     private LayoutInflater mInflater;
     private DrawerLayout mDrawerLayout;
     WebView browser;
     // ListView represents Navigation Drawer
     private ListView mDrawerList;

     // ActionBarDrawerToggle indicates the presence of Navigation Drawer in the action bar
     private ActionBarDrawerToggle mDrawerToggle;
     private String mTitle = "";


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView browser = (WebView) findViewById(R.id.webView1);
        browser.loadUrl("");
         browser.setWebViewClient(new WebViewClient());
         WebSettings webSettings = browser.getSettings();
         webSettings.setJavaScriptEnabled(true);

        mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);


        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

        mDrawerList = (ListView) findViewById(R.id.drawer_list);

        // Getting reference to the ActionBarDrawerToggle
        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                        R.drawable.ic_drawer, R.string.drawer_open,
                        R.string.drawer_close) {

                /** Called when drawer is closed */
                public void onDrawerClosed(View view) {
                    getSupportActionBar().setTitle(mTitle);

                        invalidateOptionsMenu();

                }

                /** Called when a drawer is opened */
                public void onDrawerOpened(View drawerView) {
                    getSupportActionBar().setTitle("Menu");

                        invalidateOptionsMenu();
                }


        };
        browser.setOnKeyListener(new OnKeyListener()
        {
            public boolean onKey(View v, int keyCode, KeyEvent event)
            {
                if(event.getAction() == KeyEvent.ACTION_DOWN)
                {
                    WebView webView = (WebView) v;

                    switch(keyCode)
                    {
                        case KeyEvent.KEYCODE_BACK:
                            if(webView.canGoBack())
                            {
                                webView.goBack();
                                return true;
                            }
                            break;
                    }
                }

                return false;
            }
        });

        // Setting DrawerToggle on DrawerLayout
        mDrawerLayout.setDrawerListener(mDrawerToggle);

        // Creating an ArrayAdapter to add items to the listview mDrawerList
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),
                        R.layout.drawer_list_item, getResources().getStringArray(R.array.menus));

        // Setting the adapter on mDrawerList
        mDrawerList.setAdapter(adapter);

        // Enabling Home button
        getSupportActionBar().setHomeButtonEnabled(true);

        // Enabling Up navigation
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        // Setting item click listener for the listview mDrawerList
        mDrawerList.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {

                        // Getting an array of rivers
                        String[] menuItems = getResources().getStringArray(R.array.menus);

                        // Currently selected river
                        mTitle = menuItems[position];

                        // Creating a fragment object


                        // Passing selected item information to fragment
                        Bundle data = new Bundle();
                        data.putInt("position", position);
                        data.putString("url", getUrl(position));



                        // Getting reference to the FragmentManager
                        FragmentManager fragmentManager = getSupportFragmentManager();

                        fragmentManager.addOnBackStackChangedListener(new OnBackStackChangedListener() {
                            public void onBackStackChanged() {
                                if(getSupportFragmentManager().getBackStackEntryCount() == 0)    
                                     finish();                                                               
                            }
                        });

                        // Creating a fragment transaction
                        FragmentTransaction ft = fragmentManager.beginTransaction();

                        // Adding a fragment to the fragment transaction


                        // Committing the transaction
                        ft.commit();

                        // Closing the drawer
                        mDrawerLayout.closeDrawer(mDrawerList);

                }
        });     




}
导入android.annotation.SuppressLint;
导入android.app.Activity;
导入android.os.Bundle;
导入android.support.v4.app.ActionBarDrawerToggle;
导入android.support.v4.app.FragmentActivity;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentManager.onbackbackchangedListener;
导入android.support.v4.app.FragmentTransaction;
导入android.support.v4.widget.DrawerLayout;
导入android.support.v7.app.ActionBar;
导入android.support.v7.app.ActionBarActivity;
导入android.view.KeyEvent;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.view.OnKeyListener;
导入android.webkit.WebSettings;
导入android.webkit.WebView;
导入android.webkit.WebViewClient;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
@SuppressLint(“新API”)
公共类MainActivity扩展了ActionBarActivity{
私人停车场;
私人抽屉布局mDrawerLayout;
网络视图浏览器;
//ListView表示导航抽屉
私有列表视图mDrawerList;
//ActionBarDrawerToggle表示操作栏中存在导航抽屉
私有操作bardrawertoggle mDrawerToggle;
私有字符串mTitle=“”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView浏览器=(WebView)findViewById(R.id.webView1);
browser.loadUrl(“”);
setWebViewClient(新的WebViewClient());
WebSettings WebSettings=browser.getSettings();
setJavaScriptEnabled(true);
mInflater=(LayoutInflater)getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mDrawerList=(ListView)findViewById(R.id.drawer\u列表);
//获取对ActionBarDrawerToggle的引用
mDrawerToggle=新操作BarDrawerToggle(此,mDrawerLayout,
R.drawable.ic_抽屉,R.string.drawer_抽屉打开,
右弦抽屉(U关闭){
/**抽屉关闭时调用*/
公共无效onDrawerClosed(视图){
getSupportActionBar().setTitle(mTitle);
无效操作菜单();
}
/**打开抽屉时调用*/
打开图纸上的公共空白(视图抽屉视图){
getSupportActionBar().setTitle(“菜单”);
无效操作菜单();
}
};
setOnKeyListener(新的OnKeyListener()
{
公共布尔onKey(视图v、int keyCode、KeyEvent事件)
{
if(event.getAction()==KeyEvent.ACTION\u向下)
{
网络视图网络视图=(网络视图)v;
开关(钥匙代码)
{
case KeyEvent.KEYCODE\u返回:
if(webView.canGoBack())
{
webView.goBack();
返回true;
}
打破
}
}
返回false;
}
});
//设置抽屉在抽屉布局上切换
mDrawerLayout.setDrawerListener(mDrawerToggle);
//创建ArrayAdapter以将项添加到listview mDrawerList
ArrayAdapter=新的ArrayAdapter(getBaseContext(),
R.layout.drawer_list_项,getResources().getStringArray(R.array.menus));
//在mDrawerList上设置适配器
mDrawerList.setAdapter(适配器);
//启用主页按钮
getSupportActionBar().setHomeButtonEnabled(true);
//启用向上导航
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//listview mDrawerList的设置项单击侦听器
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//获得一系列河流
字符串[]menuItems=getResources().getStringArray(R.array.menus);
//当前选定的河流
mTitle=菜单项[位置];
//创建片段对象
//将所选项目信息传递给片段
Bundle data=新Bundle();
数据输入(“位置”,位置);
data.putString(“url”,getUrl(position));
//获取对FragmentManager的引用
FragmentManager FragmentManager=getSupportFragmentManager();
fragmentManager.AddOnBackbackChangedListener(新的OnBackbackChangedListener(){
BackbackChanged()上的公共无效{
如果(getSupportFragmentManager().GetBackbackEntryCount()==0)
完成();
}
});
//创建片段事务
FragmentTransaction ft=fragmentManager.BeginTransaction
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.com.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  </application>

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

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    // Pass any configuration change to the drawer toggls
    mDrawerToggle.onConfigurationChanged(newConfig);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     // The action bar home/up action should open or close the drawer.
     // ActionBarDrawerToggle will take care of this.
    if (mDrawerToggle.onOptionsItemSelected(item)) {
        return true;
    }
    return false;
}