2016-05-30 3 views
-1

новый Android Dev здесь. Хорошо, поэтому я сделал простое намерение взять меня в другую деятельность. Проблема в том, что она не способна принять меня к этой конкретной деятельности (но она действительно открывает другие виды деятельности.). Здесь ошибка это дает мне:Почему мое намерение не в состоянии распознать мою деятельность

FATAL EXCEPTION: main 
Process: com.shahrukhraza.app, PID: 5628 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.shahrukhraza.app/com.shahrukhraza.app.otherAppActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference 
    at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:68) 
    at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146) 
    at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28) 
    at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41) 
    at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:29) 
    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:188) 
    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:172) 
    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:512) 
    at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:184) 
    at com.shahrukhraza.app.otherAppActivity.<init>(otherAppActivity.java:14) 
    at java.lang.Class.newInstance(Native Method) 
    at android.app.Instrumentation.newActivity(Instrumentation.java:1067) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5417)  

И это мой MainActivity.java:

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_other_app); 
     Button b1 = (Button) findViewById(R.id.btn1); 
     b1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MainActivity.this, otherAppActivity.class); 
       startActivity(intent); 
      } 
     }); 
    } 
} 

И это класс Java, который вызывает проблемы:

public class otherAppActivity extends AppCompatActivity { 

    EditText eText1 = (EditText) findViewById(R.id.eText1); 
    EditText eText2 = (EditText) findViewById(R.id.eText2); 
    Button btn = (Button) findViewById(R.id.button); 
    TextView result = (TextView)findViewById(R.id.textView); 

    double n1,n2,sum; 

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

     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       n1 = Double.parseDouble(eText1.getText().toString()); 
       n2 = Double.parseDouble(eText2.getText().toString()); 
       sum = n1 +n2; 
       result.setText(Double.toString(sum)); 
      } 
     }); 
    } 
} 
+0

@MikeM. Да, я пытался это сделать. Это все еще дает мне ошибку. –

+0

Если вы действительно исправили это, тогда ваша трассировка стека будет другой. –

+0

Подождите, пока он работает! Мне жаль, что такое трассировка стека? –

ответ

0

Вы должны инициализировать кнопку и все, что есть в OnCreate, или они будут пустыми.

EditText eText1, eText2; 
TextView result; 
double n1,n2,sum; 
Button btn; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.); 
    eText1 = (EditText) findViewById(R.id.eText1); 
    eText2 = (EditText) findViewById(R.id.eText2); 
    btn = (Button) findViewById(R.id.button); 
    result = (TextView)findViewById(R.id.textView); 

    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      n1 = Double.parseDouble(eText1.getText().toString()); 
      n2 = Double.parseDouble(eText2.getText().toString()); 
      sum = n1 +n2; 
      result.setText(Double.toString(sum)); 
     } 


    }); 
} 
+0

Просто попробовал. Такая же ошибка «NullPointerException» –

+0

Это сработало! Спасибо –

0

ли ваш другой файлAppActivity.class в вашем файле манифеста как действие? Как это

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".PromotionMain" 
     android:label="Promotions" 
     android:theme="@style/AppTheme.NoActionBar" 
     > 
    </activity> 
    <activity 
     android:name=".MyWebViewMain" 
     android:label="MyWebView" 
     android:theme="@style/AppTheme.NoActionBar" 
     > 
    </activity> 

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

+0

Это моя деятельность в манифесте <активность андроид: имя = андроид "otherAppActivity.": Метка = "otherAppActivity"> /> –

0

в другом случае, в setContentView у вас есть только R.layout. без указания идентификатора макета. Это может привести к ошибке

+0

О, извините, это была просто ошибка, когда я вставлял ее здесь. его штраф в фактическом коде. –