Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.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
Android 当程序使用材料设计从启动器活动转到另一个活动时,应用程序崩溃_Android_Exception_Nullpointerexception_Material Design - Fatal编程技术网

Android 当程序使用材料设计从启动器活动转到另一个活动时,应用程序崩溃

Android 当程序使用材料设计从启动器活动转到另一个活动时,应用程序崩溃,android,exception,nullpointerexception,material-design,Android,Exception,Nullpointerexception,Material Design,我正试图在我现有的一个项目中实现材料设计,theme在launcher活动中非常有效,但当我导航到另一个活动时,它会使应用程序崩溃 清单文件 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mycompany.hsclock" > <uses-feature android:name="android.hardware.camera" />

我正试图在我现有的一个项目中实现材料设计,theme在launcher活动中非常有效,但当我导航到另一个活动时,它会使应用程序崩溃

清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mycompany.hsclock" >

    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@style/MyMaterialTheme" >
        <activity
            android:name=".MainActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        </activity>
        <activity
            android:name=".CategoryActivity"
            android:label="@string/title_activity_category"
            android:parentActivityName=".MainActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.mycompany.hsclock.MainActivity" />
        </activity>
        <activity
            android:name=".SwipeViews.SwipeView"
            android:label="@string/title_activity_swipe_view" >
        </activity>
        <activity
            android:name=".SaveOnShare.SaveShare"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="image/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND_MULTIPLE" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="image/*" />
            </intent-filter>
        </activity>
    </application>

</manifest>
方法调用第二个活动

private void initCategoryList()
    {

        listView = (ListView) findViewById(R.id.list);
        mCategoryAdapter=new CategoryAdapter(this,mCategoryItems);

        // Assign adapter to ListView
        listView.setAdapter(mCategoryAdapter);

        listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

            public boolean onItemLongClick(AdapterView<?> parent,
                                           View view, int position, long id) {
                onListItemSelect(position);
                return true;
            }
        });

        // ListView Item Click Listener
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

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

                if (mActionMode == null) {
                    // ListView Clicked item index
                    int itemPosition = position;

                    // ListView Clicked item value
                    CategoryItem itemValue = (CategoryItem) parent.getItemAtPosition(position);

                    // Show Alert
                    Toast.makeText(getApplicationContext(),
                            "Position :" + itemPosition + "  ListItem : " + itemValue.name, Toast.LENGTH_LONG)
                            .show();


                    Intent categoryintent = new Intent(getBaseContext(), CategoryActivity.class);

                    if (itemValue != null) {
                        categoryintent.putExtra("cat_id", itemValue.id);
                        categoryintent.putExtra("cat_name", itemValue.name);
                    }
                    startActivity(categoryintent);
                } else
                    // add or remove selection for current list item
                    onListItemSelect(position);

            }

        });


    }
第二个活动xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"

    android:orientation="vertical"
    tools:context=".MainActivity">


    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar"/>

    <ListView
        android:id="@+id/list"
        android:layout_weight="10"
        android:layout_height="100dp"
        android:layout_width="match_parent">
    </ListView>

</LinearLayout>

错误日志

Caused by: java.lang.NullPointerException
            at android.support.v7.internal.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:94)
            at android.support.v7.internal.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:87)
            at android.support.v7.internal.app.ToolbarActionBar.<init>(ToolbarActionBar.java:79)
            at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:198)
            at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:96)
            at com.mycompany.hsclock.CategoryActivity.onCreate(CategoryActivity.java:71)
            at android.app.Activity.performCreate(Activity.java:5372)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
            at android.app.ActivityThread.access$700(ActivityThread.java:159)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5419)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
            at dalvik.system.NativeStart.main(Native Method)
原因:java.lang.NullPointerException
位于android.support.v7.internal.widget.ToolbarWidgetWrapper.(ToolbarWidgetWrapper.java:94)
位于android.support.v7.internal.widget.ToolbarWidgetWrapper.(ToolbarWidgetWrapper.java:87)
位于android.support.v7.internal.app.ToolbarActionBar.(ToolbarActionBar.java:79)
在android.support.v7.app.AppCompateDelegateImplv7.setSupportActionBar(AppCompateDelegateImplv7.java:198)上
位于android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:96)
在com.mycompany.hsclock.CategoryActivity.onCreate上(CategoryActivity.java:71)
位于android.app.Activity.performCreate(Activity.java:5372)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
在android.app.ActivityThread.access$700(ActivityThread.java:159)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:176)
位于android.app.ActivityThread.main(ActivityThread.java:5419)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:525)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
在dalvik.system.NativeStart.main(本机方法)
试试这个-

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

    View myView = findViewById(R.id.toolbar);
    Toolbar mtoolbar = (Toolbar) myView.findViewById(R.id.toolbar);
    setSupportActionBar(mtoolbar);

    // Catching intent of the selected category
    Intent data = getIntent();
    if(data !=  null){
        catId = data.getIntExtra("cat_id", -1);
        catName = data.getStringExtra("cat_name");

    }
}

实际上,我是在setcontentview之前设置工具栏的

修改代码-

protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            // Catching intent of the selected category
            Intent data = getIntent();

            if(data !=  null){
                catId = data.getIntExtra("cat_id", -1);
                catName = data.getStringExtra("cat_name");

            }

            setContentView(R.layout.activity_category);

            Toolbar mtoolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(mtoolbar);

            initCategoryList();
            populateImageList();

           ...

发布崩溃日志错误是什么?您看到日志了吗?您在清单中添加了第二个活动了吗file@dileep.. 是的,我在清单中添加了第二个活动,这是我的工作项目,我正试图在其上实现材料设计this@AbhilashKant你能指定日志吗
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"

    android:orientation="vertical"
    tools:context=".MainActivity">


    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar"/>

    <ListView
        android:id="@+id/list"
        android:layout_weight="10"
        android:layout_height="100dp"
        android:layout_width="match_parent">
    </ListView>

</LinearLayout>
Caused by: java.lang.NullPointerException
            at android.support.v7.internal.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:94)
            at android.support.v7.internal.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:87)
            at android.support.v7.internal.app.ToolbarActionBar.<init>(ToolbarActionBar.java:79)
            at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:198)
            at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:96)
            at com.mycompany.hsclock.CategoryActivity.onCreate(CategoryActivity.java:71)
            at android.app.Activity.performCreate(Activity.java:5372)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
            at android.app.ActivityThread.access$700(ActivityThread.java:159)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5419)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
            at dalvik.system.NativeStart.main(Native Method)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_category);

    View myView = findViewById(R.id.toolbar);
    Toolbar mtoolbar = (Toolbar) myView.findViewById(R.id.toolbar);
    setSupportActionBar(mtoolbar);

    // Catching intent of the selected category
    Intent data = getIntent();
    if(data !=  null){
        catId = data.getIntExtra("cat_id", -1);
        catName = data.getStringExtra("cat_name");

    }
}
protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            // Catching intent of the selected category
            Intent data = getIntent();

            if(data !=  null){
                catId = data.getIntExtra("cat_id", -1);
                catName = data.getStringExtra("cat_name");

            }

            setContentView(R.layout.activity_category);

            Toolbar mtoolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(mtoolbar);

            initCategoryList();
            populateImageList();

           ...