2012-12-11 3 views
-5

나는 그가 나와 여전히 결과를 말한 나는 이미이 질문을했지만 나는 변화하는 아무도 첫 번째 대답 한 후 대답하지 알고강제 종료가 왜 발생합니까?

HOME.java

package com.example.decrypter; 

import android.os.Bundle; 
import android.app.Activity; 
import android.app.Application; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.AdapterView.OnItemSelectedListener; 

public class Home extends Activity implements OnItemSelectedListener { 

Button btn_start,btn_about,btn_exit; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home); 

btn_start = (Button) findViewById(R.id.btn_start); 
btn_about = (Button) findViewById(R.id.btn_about); 
btn_exit = (Button) findViewById(R.id.btn_exit); 



btn_start.setOnClickListener(new View.OnClickListener() 
{ 



    public void onClick(View v) { 
     Intent start = new Intent(Home.this, MainPage.class); 
     Home.this.startActivity(start); 


} 
}); 
btn_about.setOnClickListener(new View.OnClickListener() 
{ 



    public void onClick(View v) { 
    // TODO Auto-generated method stub 
     Intent about = new Intent(Home.this, about.class); 
     Home.this.startActivity(about); 


} 
    }); 
btn_exit.setOnClickListener(new View.OnClickListener() 
{ 



    public void onClick(View v) { 
    // TODO Auto-generated method stub 
    System.exit(0); 

} 
}); 
} 












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



} 

@Override 
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
     long arg3) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

} 

} 

MainPage.java

package com.example.decrypter; 

import android.os.Bundle; 
import android.app.Activity; 
import android.graphics.Color; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Spinner; 
import android.widget.SpinnerAdapter; 
import android.widget.TextView; 

public class MainPage extends Activity implements OnItemSelectedListener { 
double random1,random2,random3,random4,random5; 
int check1,check2,check3,check4,check5; 

EditText textbox; 
int guess; 
String s1,s2,s3,s4,s5; 
Spinner spinner1,spinner2,spinner3,spinner4,spinner5; 
TextView display1,display2,display3,display4,display5; 
Integer[] numbers = {1,2,3,4,5,6,7,8,9}; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    ArrayAdapter <Integer> adapter1 = new ArrayAdapter <Integer>(this, 
     android.R.layout.simple_spinner_item, numbers); 

    setContentView(R.layout.activity_main_page); 

    spinner1 =(Spinner) findViewById(R.id.spinner01); 
    spinner2= (Spinner) findViewById(R.id.spinner02); 
    spinner3= (Spinner) findViewById(R.id.spinner03); 
    spinner4= (Spinner) findViewById(R.id.spinner04); 
    spinner5= (Spinner) findViewById(R.id.spinner05); 


    display1 = (TextView) findViewById(R.id.txtdisplay1); 
    display2 = (TextView) findViewById(R.id.txtdisplay2); 
    display3 = (TextView) findViewById(R.id.txtdisplay3); 
    display4 = (TextView) findViewById(R.id.txtdisplay4); 
    display5 = (TextView) findViewById(R.id.txtdisplay5); 
    Button btnrandom = (Button) findViewById(R.id.btnrandom); 
    Button btn1 = (Button) findViewById(R.id.btn1); 






    spinner1.setAdapter(adapter1); 
    spinner1.setOnItemSelectedListener(this); 
    spinner2.setAdapter(adapter1); 
    spinner2.setOnItemSelectedListener(this); 
    spinner3.setAdapter(adapter1); 
    spinner3.setOnItemSelectedListener(this); 
    spinner4.setAdapter(adapter1); 
    spinner4.setOnItemSelectedListener(this); 
    spinner5.setAdapter(adapter1); 
    spinner5.setOnItemSelectedListener(this); 





    btnrandom.setOnClickListener(new View.OnClickListener() 
    { 



     public void onClick(View v) { 
     // TODO Auto-generated method stub 
     random1 = Math.floor(Math.random()*10); 
     random2 = Math.floor(Math.random()*10); 
     random3 = Math.floor(Math.random()*10); 
     random4 = Math.floor(Math.random()*10); 
     random5 = Math.floor(Math.random()*10); 
     //display.setText("random:" + random1); 



     /*check1 = Integer.parseInt(spinner1.getSelectedItem().toString()) ; 

     */ 


    } 
    }); 


    btn1.setOnClickListener(new View.OnClickListener() 
    { 



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




     if(check1==random1){ 
      display1.setTextColor(Color.GREEN); 
      s1= Integer.toString(check1); 
      display1.setText(s1); 
     } 
     else{ 
      display1.setTextColor(Color.RED); 
      s1= Integer.toString(check1); 
      display1.setText(s1); 
      } 

     if(check2==random2){ 
      display2.setTextColor(Color.GREEN); 
      s2= Integer.toString(check2); 
      display2.setText(s2); 
      } 
     else{ 
      display2.setTextColor(Color.RED); 
      s2= Integer.toString(check2); 
      display2.setText(s2); 
      } 

     if(check3==random3){ 
      display3.setTextColor(Color.GREEN); 
      s3= Integer.toString(check3); 
      display3.setText(s3); 
      } 
     else{ 
      display3.setTextColor(Color.RED); 
      s3= Integer.toString(check3); 
      display3.setText(s3); 
      } 

     if(check4==random4){ 
      display4.setTextColor(Color.GREEN); 
      s4= Integer.toString(check4); 
      display4.setText(s4); 
      } 
     else{ 
      display4.setTextColor(Color.RED); 
      s4= Integer.toString(check4); 
      display4.setText(s4); 
      } 

     if(check5==random5){ 
      display5.setTextColor(Color.GREEN); 
      s5= Integer.toString(check5); 
      display5.setText(s5); 
      } 
     else{ 
      display5.setTextColor(Color.RED); 
      s5= Integer.toString(check5); 
      display5.setText(s5); 
      } 

    } 
    }); 


















} 





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



} 





@Override 
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
     long arg3) { 
    // TODO Auto-generated method stub 


    check1 = Integer.parseInt(spinner1.getSelectedItem().toString()); 


    check2 = Integer.parseInt(spinner2.getSelectedItem().toString()) ; 


    check3 = Integer.parseInt(spinner3.getSelectedItem().toString()) ; 

    check4 = Integer.parseInt(spinner4.getSelectedItem().toString()) ; 


    check5 = Integer.parseInt(spinner5.getSelectedItem().toString()) ; 

    } 







@Override 
public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

} 





} 

Splash.java

package com.example.decrypter; 

import android.app.Activity; 
import android.content.Intent; 
import android.media.MediaPlayer; 
import android.os.Bundle; 

     public class Splash extends Activity { 
MediaPlayer splashSong; 
@Override 
protected void onCreate(Bundle splashpage) { 
    // TODO Auto-generated method stub 
    super.onCreate(splashpage); 
    setContentView(R.layout.splash); 
    splashSong = MediaPlayer.create(Splash.this, R.raw.splashsound); 
    splashSong.start(); 


    Thread timer = new Thread(){ 
     public void run(){ 
      try{ 
       sleep(5000); 
      } catch (InterruptedException e){ 
       e.printStackTrace(); 
      } finally { 
       Intent openHome = new Intent 
                ("com.example.decrypter.HOME"); 
       startActivity(openHome); 
      } 
     } 
    }; 
    timer.start(); 

} 

@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
    //splashSong.release(); 
    finish(); 
} 




    } 

드로이드 Manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.decrypter" 
android:versionCode="1" 
    android:versionName="1.0" > 

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

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".Splash" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".Home" 
     android:label="@string/title_activity_home" > 
     <intent-filter> 
      <action android:name="com.example.decrypter.HOME" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".about" 
     android:label="about" > 
     <intent-filter> 
      <action android:name="com.example.decrypter.ABOUT" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MainPage" 
     android:label="MainPage" > 
     <intent-filter> 
      <action android:name="com.example.decrypter.MAINPAGE" /> 

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

</manifest> 

로그 캣 오류는

12-11 11:36:27.182: D/dalvikvm(336): GC_EXTERNAL_ALLOC freed 55K, 53% free 2570K/5379K, external 2131K/2137K, paused 53ms 
12-11 11:36:27.271: D/AndroidRuntime(336): Shutting down VM 
12-11 11:36:27.271: W/dalvikvm(336): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
12-11 11:36:27.291: E/AndroidRuntime(336): FATAL EXCEPTION: main 
12-11 11:36:27.291: E/AndroidRuntime(336): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.decrypter/com.example.decrypter.Home}: java.lang.ClassCastException: android.widget.RelativeLayout 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.os.Looper.loop(Looper.java:123) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread.main(ActivityThread.java:3683) 
12-11 11:36:27.291: E/AndroidRuntime(336): at java.lang.reflect.Method.invokeNative(Native Method) 
12-11 11:36:27.291: E/AndroidRuntime(336): at java.lang.reflect.Method.invoke(Method.java:507) 
12-11 11:36:27.291: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
12-11 11:36:27.291: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
12-11 11:36:27.291: E/AndroidRuntime(336): at dalvik.system.NativeStart.main(Native Method) 
12-11 11:36:27.291: E/AndroidRuntime(336): Caused by: java.lang.ClassCastException: android.widget.RelativeLayout 
12-11 11:36:27.291: E/AndroidRuntime(336): at com.example.decrypter.Home.onCreate(Home.java:23) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-11 11:36:27.291: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
12-11 11:36:27.291: E/AndroidRuntime(336): ... 11 more 
+0

너무 많은 코드를 보내면 답변을 얻지 못했습니다. 로그를 읽고 코드를 필터링 한 다음 질문하십시오. 우리는 당신을 위해 모든 것을 할 수는 없습니다. –

+0

힌트 : Home.java에서 23 행을 확인한 다음 LogCat의 일부분을 확인한 다음 왜 'RelativeLayout'을 'Button'으로 캐스팅하는지 파악해보십시오. 세르지오 (Sergio)가 말했듯이, 우리는 모든 것을 할 수는 없습니다. – Eric

답변

2

첫째, 프로젝트 (이클립스 메인 메뉴에서 청소, 예를 들어, 프로젝트>) 청소하십시오. 그래도 도움이되지 않으면 android:id 값이 분명히 activity_main_page.xmlRelativeLayout에 있습니다. 사용중인 ID는 Home.java 클래스의 23 번째 줄에 기반합니다.

+0

main-page.xml이 다른 java 파일 용이기 때문에 좀 더 구체적 일 수 있습니다. 내 home.java 그래서 일종의 혼란에 home.xml에 연결해야합니까 ??? – user1890159

1

당신은 자격이 있지만하지 않습니다 의미 ...

12-11 11:36:27.291: E/AndroidRuntime(336): Caused by: java.lang.ClassCastException: android.widget.RelativeLayout 
    12-11 11:36:27.291: E/AndroidRuntime(336): at com.example.decrypter.Home.onCreate(Home.java:23) 

com.example.decrypter.Home.OnCreate에, 라인 (23)이 RelativeLayout의 뭔가를 캐스팅하고, 그것은 상대 아니다에 형세!

읽을 것을 배우십시오, 당신은 젊은 padwan!

+3

"당신은 자격이 없다"사람들이 배우는 것을 돕고 싶지 않다면, 참여하지 마라. 그것에 대해 snarky 될 필요가 없습니다. – Sam

+0

임이 분야에 아주 새로운데 나는 그것을 읽었지만 이해하지 못합니다. 친척이 아닌 상대적인 레이아웃으로 무엇을 캐스팅해야합니까? 내 버튼을 정의하고 그것을 상대적 레이아웃 인 XML 페이지에 연결 – user1890159

+0

그 라인이'btn_about = (Button) findViewById (R.id.btn_about); '라고 체크하고 싶다면 Button은 내부적으로 상대 레이아웃을 사용할 것입니다. 출처. 아마도 XML 레이아웃이나 뷰 ID에 문제가있을 수 있습니다. – Budius

관련 문제