2017-08-03 9 views
0

私の活動に3つの画像を配置すると、クラッシュします。 を見つけることができません。ImageButtonが3つ以上あるとSecondActivityがクラッシュする

まず活動

public class SquareMain extends AppCompatActivity {//MainActivity 

    private boolean isUserClickedBackButton = false; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) {//OnCreate 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_square_main); 
     mainmusic(); 
    }//OnCreate 

    public void presshere(View view)//pressherebutton 
    { 
      Intent press = new Intent(SquareMain.this, SquareHome.class); 
      startActivity(press); 
    }//pressherebutton 

    public void mainmusic(){//mainmusic 
     MediaPlayer mainmusic = MediaPlayer.create(SquareMain.this, R.raw.mainmeunsong);//main music 
     mainmusic.start();//main music 
     mainmusic.setLooping(true);//main music 
    } 

}//MainActivity 

セカンド活動

public class SquareHome extends AppCompatActivity { 

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

Imageボタン

<ImageButton 
    android:id="@+id/pressherebutton" 
    android:layout_width="161dp" 
    android:layout_height="28dp" 
    android:layout_marginBottom="8dp" 
    android:layout_marginTop="8dp" 
    android:background="@mipmap/squarepresshere" 
    android:onClick="presshere" 
    android:scaleType="centerCrop" 
    android:text="@string/presshere" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintHorizontal_bias="0.498" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintVertical_bias="0.86" 
    app:srcCompat="@drawable/squarepresshere" 
    tools:layout_editor_absoluteY="223dp" /> 

私SecondA 3つ以上の画像ボタンが置かれていると、状況がクラッシュする。 これを解決する方法について考えている人はいますか?

+0

ここで、コード内の画像ボタンはありますか?質問にクラッシュログを含めてください – UmarZaii

+0

質問と画像をボタンコードに編集 –

+0

logcatを含めることができますか?それなしで問題を理解することはできません。 – JediBurrell

答えて

0

MediaPlayerを終了してからメソッドを無効にしてMediaPlayerを終了する前に、を終了する必要があります。ローカル変数でないクラス変数としてmainmusicを宣言してください。

@Override 
protected void onPause() { 
    super.onPause(); 
    if (mainmusic != null) { 
     if (mainmusic.isPlaying()) 
      mainmusic.stop(); 
     mainmusic.reset(); 
     mainmusic.release(); 
    } 
} 
1

これらの画像のサイズはどれくらいですか?画像のサイズは、画像を滑らかにかつ快適にレンダリングするために考慮する必要がある要因でもあります。高解像度の画像でANRが発生することがあります。

+0

これは質問への答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューから](/レビュー/低品質の投稿/ 16930178) –

関連する問題