2011-11-06 2 views
1

그래서 저는 아이들을 위해 사운드 보드 앱을 작업 해 왔습니다. 이것은 내 첫 번째 응용 프로그램이므로 상상할 수있는대로 내가 뭘하는지 잘 모른다 (멍청한 놈). 그래서 나는 사전에 사과하고있다 :-). 내 문제는 어디에 있는지는 잘 모르겠지만 스플래시 화면에 문제가 없지만 강제로 다음 활동을로드하려고하면 강제 종료됩니다. 내 매니페스트는 클릭 가능한 이미지 인 버튼의 오디오 및 레이아웃을 재생하기로되어있는 자바 파일을 포함 할 것입니다. 미리 감사드립니다! 또한 단추가 사운드 풀을 사용하는 이미지와 관련된 임의의 사운드를 재생할 수 있지만 noobness를 사용하여 다시 설정할 수 있도록 설정하고 싶습니다. 난 정말 모든 오류에 익숙하지 않지만 java.rm.classcastexception : android.widget.imageview mymenu 활동이 시작되지 않은 이유를보고 있어요. 희망이 도움이됩니다. 'Soundboard App Force가 닫히고 이유를 알 수 없습니다.

<ImageView 
    android:id="@+id/sbbutton" 

ImageView ISN :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.pnl.thebasics" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="8" /> 

<application 
    android:icon="@drawable/sssicon" 
    android:label="@string/app_name" > 
    <activity android:label="@string/app_name" android:name=".myMain"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:label="@string/app_name" android:name=".myMenu"> 
     <intent-filter> 
      <action android:name="com.pnl.thebasics.CLEARSCREEN" /> 

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



</application> 

</manifest> 


package com.pnl.thebasics; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.Button; 

public class myMenu extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    // Hide the title bar 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    // Go full screen 
    final Window window = getWindow(); 
    window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,     WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.menu); 

    //these are the buttons that play sounds 

    //button 1 (sponge bob) 
    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.sb1); 
    Button bSpongebob = (Button) findViewById(R.id.sbbutton); 
    bSpongebob.setOnClickListener(new View.OnClickListener() { 

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

      mpButtonClick1.start(); 
     } 
    }); 
    //button 2 (patrick) 
    final MediaPlayer mpButtonClick2 = MediaPlayer.create(this, R.raw.pat1); 
    Button bPatrick = (Button) findViewById(R.id.patbutton); 
    bPatrick.setOnClickListener(new View.OnClickListener() { 

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

      mpButtonClick2.start(); 
     } 
    }); 
} 



} 


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

<LinearLayout 
    android:id="@+id/LinearLayout01" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/sbbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/sbbuttonimage" /> 

    <ImageView 
     android:id="@+id/patbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/patbuttonimage" /> 
</LinearLayout> 



<LinearLayout 
    android:id="@+id/LinearLayout02" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/mrcrabsbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/mrcrabsbuttonimage" /> 

    <ImageView 
     android:id="@+id/squidwardbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/squidwardbuttonimage" /> 
</LinearLayout> 

<LinearLayout 
    android:id="@+id/LinearLayout03" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/planktonbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/planktonbuttonimage" /> 

    <ImageView 
     android:id="@+id/garybutton" 
     android:layout_width="wrap_content" 
     android:layout_height="130dp" 
     android:layout_weight="50" 
     android:clickable="true" 
     android:src="@drawable/garybuttonimage" /> 
</LinearLayout> 

</LinearLayout> 
+1

Stackoverflow에 오신 것을 환영합니다! 답변이 도움이된다면 투표하십시오. 응답으로 질문에 성공적으로 답변 한 경우 옆에있는 녹색 확인 표시를 클릭하여 대답을 수락하십시오. 또한 좋은 질문을 쓰는 방법에 대한 조언은 http://stackoverflow.com/questions/how-to-ask에서 확인하십시오 –

+0

프로젝트를 청소 해 보셨습니까? Eclipse에서 Project -> Clean을 선택하십시오. – andreapier

+0

logcat의 출력을 알려주실 수 있습니까? 귀하의 오류에 대해 더 자세히 알려주십시오. http://developer.android.com/guide/developing/tools/logcat.html –

답변

1

자바 코드는 레이아웃에 Button 개체를 찾으려는 :

Button bSpongebob = (Button) findViewById(R.id.sbbutton); 

을하지만 레이아웃은 ImageView로 그 위젯을 선언 t a Button이고, 자바 코드가 Button이되도록 강제하려고하면이됩니다..

두 선택 고치는 :

1) ImageView를 사용하는 Java 코드를 변경합니다.

2) Button을 선언하도록 레이아웃을 변경하십시오.

설정하려고하는 클릭 수신기가 허용됩니다. 앱의 두 위젯에 대해이 수정을해야한다는 것을 잊지 마십시오.

+0

그게 다야! 나는 ImageView를 선택했다. 이해해 주셔서 감사합니다. 나는 이제 간단한 사운드 보드를 가지고있다. 내 다음 목표는 각 캐릭터가 여러 개의 말을 가질 수 있도록 사운드 그룹에서 임의의 사운드를 재생하는 것입니다. 내 딸은 이미 그것을 좋아한다. – Adam6806

관련 문제