2016-11-14 6 views
-2

Я сделал кнопку на моей основной деятельности, которая должна открыть другое действие. Я объявил деятельность в AndroidManifest.xml и функция выглядит следующим образом:Приложение падает, когда я нажимаю кнопку, чтобы открыть новую активность.

package com.example.cristian.befficient; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 

public class MainActivity extends AppCompatActivity { 

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

public void addact(View v) 
{ 
    startActivity(new Intent(MainActivity.this, NewAct.class)); 
} 

Ошибка кое-что о ActionBar, как это исправить? Краш журнала:

--------- beginning of crash 
E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.example.cristian.befficient, PID: 2299 
       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.cristian.befficient/com.example.cristian.befficient.NewAct}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference 
        at com.example.cristian.befficient.NewAct.onCreate(NewAct.java:12) 
        at android.app.Activity.performCreate(Activity.java:6664) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)  
        at android.app.ActivityThread.-wrap12(ActivityThread.java)  
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)  
        at android.os.Handler.dispatchMessage(Handler.java:102)  
        at android.os.Looper.loop(Looper.java:154)  
        at android.app.ActivityThread.main(ActivityThread.java:6077)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)  

Применение прекращено.

Активность Я хочу открыть:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView  
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.cristian.befficient.NewAct"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/text_margin" 
    android:text="@string/large_text" /> 

И да, он объявлен в файле манифеста

<activity 
     android:name=".NewAct" 
     android:label="@string/title_activity_new" 
     android:parentActivityName=".MainActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.cristian.befficient.MainActivity" /> 
    </activity> 
+0

Вы добавили свою вторую активность в манифесте? Нам понадобится журнал сбоев, чтобы помочь вам – Chol

+0

Возможный дубликат [Android Studio отмечает R красным цветом с сообщением об ошибке "не может разрешить символ R", но сборка выполнена успешно) (http://stackoverflow.com/questions/17421104/ android-studio-marks-r-in-red-with-error-message-can not-resolve-symbol-r-but) – ItamarG3

+0

Ваша панель действий кажется пустой! Можете ли вы вставить свою вторую активность? – Chol

ответ

0

Go построить и нажмите чистый ПРОЕКТУ. (Build -> Clean Project) Это поможет вам решить Может не resove символ 'R' ошибка

+0

У меня все еще есть ошибка, вызванная: java.lang.NullPointerException: попытка вызвать виртуальный метод void android.app.ActionBar.setDisplayHomeAsUpEnabled (boolean) 'на ссылке нулевого объекта at com.example.cristian.befficient.NewAct.onCreate (NewAct.java:12) –

0

использование

import com.example.cristian.befficient.R; 

, учитывая, что com.example.cristian.befficient является пакет приложения ,

+0

Я решил ошибку с R, у меня есть ошибка с чем-то, называемым панелью действий –

+0

Ясно ошибка вызвана: java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.app.ActionBar.setDisplayHomeAsUpEnabled (boolean)' на ссылке нулевого объекта на com.example.cristian.befficient.NewAct.onCreate (NewAct .java: 12). Это означает, что вы вызываете метод setDisplayHomeAsUpEnabled по нулевой ссылке. Вы должны поделиться NewAct.java –

0

supportActionBar использование вместо ActionBar в вашем NewAct линии

0

Действие бар ошибка

  • использовали getSupportActionBar() вместо getActionBar()
  • public class NewAct extends AppCompatActivity
0

Ваша панель действий может быть пустым по любой причине. Проверьте свой стиль для основного действия и убедитесь, что панель действий включена.

Проверьте свой - values ​​/ styles.xml и убедитесь, что он имеет панель действий.

<style name = "AppTheme" parent = "android:Theme.Holo.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
</style> 

Проверить эту ссылку для получения дополнительной информации https://developer.android.com/design/patterns/actionbar.html