2017-03-01 10 views
0

Intentを使用して新しいアクティビティを作成しようとすると、nullという例外が発生します。基本的には、この新しいActivityを作成しようとすると、私のプログラムは終了します。つまり、アニメートされた宝箱(MainActivityから実行されるときに動作するxmlのファイル)にユーザが見える画面を切り替えます。ここでインテントでのNull例外開始アクティビティ

は、私は受け付けており、エラーのAndroidのメーカーからの画像です:

enter image description here

私はvr4.0.4を実行しているデバイス上のビュージックスM100アプリケーションを開発しています。ここで

は、私が実行している2つのアクティビティされています、それは私がマニフェストにエントリを欠いた@Joelダガンへ

MainActivity.java

package com.rit.se.treasurehuntvuz; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.content.Intent; 
import android.util.Log; 

public class MainActivity extends AppCompatActivity { 

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

    @Override 
    protected void onStart() { 
     super.onStart(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
    } 

    @Override 
    protected void onRestart() { 
     super.onRestart(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    public void onBackPressed() { 
     try { 
      Intent showTreasureIntent = new Intent(this, ShowTreasureActivity.class); 
      startActivity(showTreasureIntent); 
     } 
     catch(Exception exception) { 
      Log.e("MainActivity", exception.getMessage()); 
     } 
    } 
} 

ShowTreasureActivity.java

package com.rit.se.treasurehuntvuz; 

import android.content.Intent; 
import android.graphics.drawable.AnimationDrawable; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.ImageView; 

public class ShowTreasureActivity extends AppCompatActivity { 

    private ImageView treasureImage; 
    private AnimationDrawable treasureAnimation; 

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

     treasureImage = (ImageView)findViewById(R.id.treasureAnimationView); 
     treasureImage.setBackgroundResource(R.drawable.anim_treasure); 

     treasureAnimation = (AnimationDrawable) treasureImage.getBackground(); 
     treasureAnimation.setOneShot(true); 
    } 

    @Override 
    public void onWindowFocusChanged (boolean hasFocus) 
    { 
     treasureAnimation.start(); 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
    } 

    @Override 
    protected void onRestart() { 
     super.onRestart(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    public void onBackPressed() { 
    } 
} 
+3

例外がnullとして表示されているという事実は、コードの問題よりもデバッガの問題に似ています。コードは正常に見えます。 catchブロックのlogステートメントはLogcatに何も表示されますか?戻るボタンを押すと何も起こりませんか?あなたのマニフェストにShowTreasureActivityを追加しましたか? –

+0

戻るボタンを押すとプログラムがクラッシュします。ログからは何も表示されません。そして、それはマニフェストファイルでした! – visc

+0

あなたは、Back Pressに合格したのと同じ活動から来ていますか? –

答えて

0

おかげで判明しましたファイル。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.rit.se.treasurehuntvuz"> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

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

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


     <activity android:name=".ShowTreasureActivity"> 
     </activity> 


    </application> 

</manifest> 
関連する問題