2012-07-15 6 views
0

내 코드에는 오류가 없지만 시작시 응용 프로그램 강제 종료됩니다. 다음은 코드입니다.안드로이드 애플 리케이션에서 강제 종료

package com.amit.wozzle; 

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

import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends Activity { 
/** Called when the activity is first created. */ 
private Button b1; 
private Button b2; 
private Button b3; 
private Button b4; 
private Button b5; 
private Button b6; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    b1 = (Button) findViewById(R.id.g1); 
    b2 = (Button) findViewById(R.id.g2); 
    b3 = (Button) findViewById(R.id.g3); 
    b4 = (Button) findViewById(R.id.g4); 
    b5 = (Button) findViewById(R.id.g5); 
    b6 = (Button) findViewById(R.id.g6); 


    b1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 1); 
      startActivity(r1); 
     } 
    }); 


    b2.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 2); 
      startActivity(r1); 
     } 
    }); 


    b3.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 3); 
      startActivity(r1); 
     } 
    }); 


    b4.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 4); 
      startActivity(r1); 
     } 
    }); 


    b5.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 5); 
      startActivity(r1); 
     } 
    }); 


    b6.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent r1= new Intent("com.amit.wozzle.GAMEPLAY"); 
      r1.putExtra("choice", 6); 
      startActivity(r1); 
     } 
    }); 




} 


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

} 

이것은 logcat입니다.

07-15 12:57:37.632: D/AndroidRuntime(666): Shutting down VM 
07-15 12:57:37.632: W/dalvikvm(666): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
07-15 12:57:37.642: E/AndroidRuntime(666): FATAL EXCEPTION: main 
07-15 12:57:37.642: E/AndroidRuntime(666): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amit.wozzle/com.amit.wozzle.MainActivity}: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.os.Looper.loop(Looper.java:123) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-15 12:57:37.642: E/AndroidRuntime(666): at java.lang.reflect.Method.invokeNative(Native Method) 
07-15 12:57:37.642: E/AndroidRuntime(666): at java.lang.reflect.Method.invoke(Method.java:521) 
07-15 12:57:37.642: E/AndroidRuntime(666): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-15 12:57:37.642: E/AndroidRuntime(666): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-15 12:57:37.642: E/AndroidRuntime(666): at dalvik.system.NativeStart.main(Native Method) 
07-15 12:57:37.642: E/AndroidRuntime(666): Caused by: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.widget.AdapterView.addView(AdapterView.java:461) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.view.LayoutInflater.rInflate(LayoutInflater.java:622) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
07-15 12:57:37.642: E/AndroidRuntime(666): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.Activity.setContentView(Activity.java:1647) 
07-15 12:57:37.642: E/AndroidRuntime(666): at com.amit.wozzle.MainActivity.onCreate(MainActivity.java:23) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
07-15 12:57:37.642: E/AndroidRuntime(666): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
07-15 12:57:37.642: E/AndroidRuntime(666): ... 11 more 

아무에게도 어떤 오류가 있다고 말할 수 있습니까?

+1

이 활동의 ​​레이아웃 파일을 보여주십시오. – Femaref

+0

R.layout.main의 XML은 무엇입니까? –

+0

''main.xml'에서 여러분은' yourButtons와 같은 사용자 정의보기가 있다고 생각합니다.'make your likeButtons ' –

답변

2

코드에 오류가있는 것 같습니다. 네 번째 줄에는 "addview는 adapterview에서 지원되지 않습니다."라고 나와 있습니다. try/catch 블록에서 해당 값을 줄이고 그 오류를 잡아서 앱을 강제 종료하지 않거나 왜 addView가 adapterview에서 지원되지 않는지 알아 내야 할 필요가 있음을 나타내는 것 같습니다. 또한 "인해 발생했습니다"라는 줄에서 오류가 반복되는 것을 볼 수 있습니다.

+1

내가 사용하고있는'GridView'에 대한 어댑터를 생성해야합니다. –

+0

어리석은 실수는 아닙니다. 너는 오류, 멋진 일을 알아 냈다. –

2

XML 레이아웃 파일 (R.layout.main)에 오류가있는 것 같습니다. 그것은 그것이보기를 팽창 시키려고 시도하고있는 것에 따라 부서지고있다.

여기에 정의한 어댑터보기를 살펴보십시오. 이 파일을 게시 할 수 있다면 도움이 될 것입니다.

관련 문제