Принудительно закрыть в приложении для Android

В моем коде нет ошибки, но приложение закрывается при запуске. Ниже приведен код.

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;
}

}

Это логкэт.

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

Может ли кто-нибудь сказать, что за ошибка?


person John Watson    schedule 15.07.2012    source источник
comment
пожалуйста, покажите файл макета для этого действия.   -  person Femaref    schedule 15.07.2012
comment
что такое XML в R.layout.main?   -  person Ben Pearson    schedule 15.07.2012
comment
Я думаю, что в main.xml у вас есть собственный вид, например <customView>yourButtons</customView>, сделайте его похожим на yourButtons<customView></customView>   -  person Mohsin Naeem    schedule 15.07.2012
comment
Это глупая ошибка с моей стороны. Я использовал GridView и относился к нему как к другим представлениям. Я узнал, что сначала мне нужно построить адаптер.   -  person John Watson    schedule 16.07.2012


Ответы (2)


Я думаю, что в вашем коде есть ошибка. В 4-й строке указано, что «addview не поддерживается в adapterview». Похоже, это указывает на то, что вы должны обернуть это в блок try/catch и перехватить эту ошибку, чтобы она не закрывала ваше приложение принудительно, или вам нужно выяснить, почему этот addView не поддерживается с помощью адаптера. Кроме того, из этой строки, которая говорит «вызвано», вы можете увидеть повторяющуюся ошибку.

person thomas.cloud    schedule 15.07.2012
comment
Мне нужно создать адаптер для GridView, который я использую. - person John Watson; 16.07.2012
comment
Совсем не глупая ошибка. Вы разобрались с ошибкой, молодец - person thomas.cloud; 16.07.2012

Похоже, у вас есть ошибка в файле макета XML (R.layout.main). Он падает, пытаясь раздуть представление.

Взгляните на представление адаптера, которое вы там определили. Было бы полезно, если бы вы могли опубликовать этот файл.

person Ben Pearson    schedule 15.07.2012