2016-05-18 12 views
-1

私のJava 1クラスの最後に、私のプロジェクトで作業しています。我々は記憶/集中ゲームを作っている。私の問題は、次のアクティビティのイージーボタンをクリックするとアプリがクラッシュすることです。私は断片や活動を使ってみましたが、それを正しく理解できないようです。私は主な活動で必要なレイアウトを使って、それを表示できるかどうかを試してみました。それでも、アプリ起動時にクラッシュするだけです。どんな助けもありがとう。アンドロイドアプリの読み込み時にxmlレイアウトがクラッシュする

スタートアップ画面のアクティビティ。

package com.bignerdranch.android.memory; 


import android.app.Activity; 
import android.content.Intent; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.CheckBox; 



public class MemoryActivity extends Activity { 

private Button mEasy; 
private Button mMedium; 
private Button mHard; 
private CheckBox mSilence; 
public MediaPlayer player; 


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


    player = new MediaPlayer(); 
    player = MediaPlayer.create(this, R.raw.mkstartmusic); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    player.setLooping(true); 
    player.start(); 



    mEasy = (Button)findViewById(R.id.easy); 
    mEasy.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent easy = new Intent(getApplicationContext(), EasyGame.class); 
      startActivity(easy); 

     } 
    }); 

    mMedium = (Button)findViewById(R.id.medium); 
    mMedium.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     } 
    }); 

    mHard = (Button)findViewById(R.id.hard); 
    mHard.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     } 
    }); 

    mSilence = (CheckBox)findViewById(R.id.silence); 
    mSilence.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      if(mSilence.isChecked()) { 
       player.pause(); 
      } else if(mSilence.isChecked() == false) { 
       player.start(); 
      } 

     } 
    }); 

} 

@Override 
protected void onStop() { 
    super.onPause(); 
    if (player != null){ 
     player.stop(); 
     if (isFinishing()){ 
     player.stop(); 
     player.release(); 
     } 
    } 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.layout.activity_memory, menu); 
    return true; 


} 

} 

セカンド活動(イージーオプション)

package com.bignerdranch.android.memory; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.ImageButton; 

public class EasyGame extends Activity { 

private ImageButton buttOne; 
private ImageButton buttTwo; 
private ImageButton buttThree; 
private ImageButton buttFour; 

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

    buttOne = (ImageButton)findViewById(R.id.ImageButton01); 
    buttOne.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 


     } 
    }); 

    buttTwo = (ImageButton)findViewById(R.id.ImageButton02); 
    buttTwo.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 


     } 
    }); 

    buttThree = (ImageButton)findViewById(R.id.ImageButton03); 
    buttThree.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 


     } 
    }); 

    buttFour = (ImageButton)findViewById(R.id.ImageButton04); 
    buttFour.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 


     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.layout.activity_easy, menu); 
    return true; 



} 
} 

簡単オプション

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/easyback" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:background="@drawable/easyback" 
    android:clickable="false" 
    android:duplicateParentState="false" 
    android:longClickable="false" 
    android:scaleType="centerCrop" /> 

<ImageButton 
    android:id="@+id/ImageButton04" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:layout_below="@+id/ImageButton01" 
    android:layout_toRightOf="@+id/ImageButton01" 
    android:layout_toEndOf="@+id/ImageButton01" 
    android:maxHeight="25dp" 
    android:maxWidth="25dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/dragonemb" /> 

<ImageButton 
    android:id="@+id/ImageButton02" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:layout_above="@+id/ImageButton04" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 

    android:layout_marginRight="22dp" 
    android:layout_marginEnd="22dp" 
    android:maxHeight="25dp" 
    android:maxWidth="25dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/dragonemb" /> 

<ImageButton 
    android:id="@+id/ImageButton03" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:layout_alignTop="@+id/ImageButton04" 
    android:layout_toLeftOf="@+id/ImageButton04" 
    android:layout_toStartOf="@+id/ImageButton04" 
    android:maxHeight="25dp" 
    android:maxWidth="25dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/dragonemb" /> 

<ImageButton 
    android:id="@+id/ImageButton01" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="152dp" 
    android:layout_toLeftOf="@+id/ImageButton02" 
    android:maxHeight="25dp" 
    android:maxWidth="25dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/dragonemb" /> 

</RelativeLayout> 
+0

'App crashes'すべての人がクラッシュログを検索します。誰もコードをレビューしません。スタックトレースを送信します。 –

+0

あなたのLogcatを投稿する –

+0

クラッシュを見つけるには、logcatを更新してください。 – Ankur1994a

答えて

3

OK投稿した完全なクラッシュログではありませんが、その上部には、私はroidManifest.xml?を見ました。そして、それはまた

<manifest package="com....." . . . > 
    <application . . . > 

     <activity 
      android:name=".EasyGame" 
      android:label="easygame"> 
     </activity> 
     . . . 
    </application> 
</manifest> 

は、あなたがそれにも固定検討ごImageButtonButtonにキャストしようとしている、あなたがそうapplicationタグ内に次の行を追加するには、androidmanifest.xmlであなたのEasyGameアクティビティ定義されていなかったことを確認します。

+0

私はそれを以前に持っていき、それを取り出しました。私はそれを元に戻して、上のコメントから助言を受けましたが、それはまだクラッシュしています。 –

+0

OKをクリックし、完全なクラッシュログをコピーして貼り付けて投稿します。ハーフスクリーンショットを投稿しないでください。 –

+0

私はLogCatをコピー/ペーストしようとしましたが、それはできません。私ができることは、更新されたスクリーンショットを投稿することだけでした。 –

1

は、そのシンプルなだけAndroidManfest

<activity 
     android:name=".EasyGame" 
     /> 
1

を以下のコードを追加するためにこれがレイアウトですあなたのにこの行を追加してください

<activity android:name="Activity"/> 

はあなたがいなかったAndroidのマニフェストの中にあなたの活動を宣言する必要があると述べました。実際に何がうまくいかなかったかを見つけるのに役立ちますので、logcatを注意深くお読みください。

0

OK、問題の一部であった皆さんの提案を試してみましたが、最終的な問題は画像をdrawable-xhdpiに追加する必要があることが判明しました。あなたのすべての協力に感謝します。

関連する問題