2013-07-30 4 views
0

У меня возникли проблемы с запуском приложения для Android для отладки. Это мой первый раз, когда я создаю приложение для Android, поэтому я не знаком с этим процессом. Я получаю следующее сообщение об ошибке от LogCatК сожалению Мое приложение остановлено

07-30 22:48:35.626: E/Trace(744): error opening trace file: No such file or directory (2) 
07-30 22:49:42.285: E/AndroidRuntime(744): FATAL EXCEPTION: main 
07-30 22:49:42.285: E/AndroidRuntime(744): java.lang.IllegalStateException: Could not execute method of the activity 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.view.View$1.onClick(View.java:3599) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.view.View.performClick(View.java:4204) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.view.View$PerformClick.run(View.java:17355) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.os.Handler.handleCallback(Handler.java:725) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.os.Looper.loop(Looper.java:137) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.ActivityThread.main(ActivityThread.java:5041) 
07-30 22:49:42.285: E/AndroidRuntime(744): at java.lang.reflect.Method.invokeNative(Native Method) 
07-30 22:49:42.285: E/AndroidRuntime(744): at java.lang.reflect.Method.invoke(Method.java:511) 
07-30 22:49:42.285: E/AndroidRuntime(744): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
07-30 22:49:42.285: E/AndroidRuntime(744): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
07-30 22:49:42.285: E/AndroidRuntime(744): at dalvik.system.NativeStart.main(Native Method) 
07-30 22:49:42.285: E/AndroidRuntime(744): Caused by: java.lang.reflect.InvocationTargetException 
07-30 22:49:42.285: E/AndroidRuntime(744): at java.lang.reflect.Method.invokeNative(Native Method) 
07-30 22:49:42.285: E/AndroidRuntime(744): at java.lang.reflect.Method.invoke(Method.java:511) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.view.View$1.onClick(View.java:3594) 
07-30 22:49:42.285: E/AndroidRuntime(744): ... 11 more 
07-30 22:49:42.285: E/AndroidRuntime(744): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.wadi3mrad/com.example.wadi3mrad.biog}; have you declared this activity in your AndroidManifest.xml? 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Activity.startActivityForResult(Activity.java:3370) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Activity.startActivityForResult(Activity.java:3331) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Activity.startActivity(Activity.java:3566) 
07-30 22:49:42.285: E/AndroidRuntime(744): at android.app.Activity.startActivity(Activity.java:3534) 
07-30 22:49:42.285: E/AndroidRuntime(744): at com.example.wadi3mrad.MainActivity.someFunction(MainActivity.java:55) 
07-30 22:49:42.285: E/AndroidRuntime(744): ... 14 more 

Код

public class MainActivity extends Activity { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_main); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

} 
public void someFunction(View v) 
{ 
    Intent myIntentd= new Intent(); 
    switch (v.getId()) // get id of Button clicked 
    { 
     case (R.id.music): 
     myIntentd = new Intent(getApplicationContext(), 
       Albums.class); 
     break; 
     case (R.id.bio): 
     myIntentd = new Intent(getApplicationContext(), 
       biog.class); 
     break; 
     case (R.id.face): 
     myIntentd = new Intent(getApplicationContext(), 
       faceboom.class); 
     break; 
     case (R.id.info_but): 
     myIntentd = new Intent(getApplicationContext(), 
       info.class); 
     break; 
    } 
    startActivity(myIntentd); 
} 



@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

+1

пост код пожалуйста – Raghunandan

ответ

2

Без кода, никто, кроме, может быть, Джон тарелочкам, может сказать вам, где проблема , Но от глядя на LogCat, вы пытаетесь получить доступ к элементу Array, который больше, чем то, что находится в вашем Array

Этой линии здесь

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3 

дает исключение говорит, что вы пытаетесь получить доступ к индексу 3, но размер вашего массива равен 3, поэтому максимально возможный индекс равен 2, так как Array имеет базу 0.

Эта строка здесь (первая строка после исключения, которая ссылается на ваш проект) говорит, какая строка, в которой Activity и какой метод находится в строке

at com.example.wadi3mrad.MainActivity.addListenerOnButton(MainActivity.java:81) 

Линия 81 MainActivity при добавлении listener к Button.

Я понимаю, что это не ответ, но вы знаете, что они говорят ... «Научи человека ловить рыбу ...»

Редактировать

Давайте посмотрим, как это идет. Поскольку все эти кнопки в значительной степени делают одно, гораздо проще и чище сделать это, чтобы объявить функцию onClick для всех этих кнопок в вашем xml, тогда вам не нужны все слушатели и массив кнопок.

В вашем XML, для каждой кнопки, добавить что-то вроде этой линии

android:onClick="someFunction" 

тогда вам просто нужна одна функция в вашем Java, и вам не нужны все другие вещи. Так что ваш код Java будет выглядеть

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
WindowManager.LayoutParams.FLAG_FULLSCREEN); 
setContentView(R.layout.activity_main); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 

public void someFunction(View v) 
{ 
    Intent myIntent = new Intent(); 
    switch (v.getId()) // get id of Button clicked 
    { 
     case (R.id.music): 
     myIntent = new Intent(MainActivity.this, 
       Albums.class); 
     break; 
     case (R.id.bio): 
     myIntent = new Intent(MainActivity.this, 
       biog.class); 
     break; 
     case (R.id.face): 
     myIntent = new Intent(MainActivity.this, 
       faceboom.class); 
     break; 
     case (R.id.info_but): 
     myIntent = new Intent(MainActivity.this, 
       info.class); 
     break; 
    } 
    startActivity(myIntent); 
} 
+0

здесь мой основной код деятельности: – DoctorDoom

+0

Где ваш код? Пожалуйста, отредактируйте свой OP и не публикуйте его в комментарии – codeMagic

+3

«вот мой основной код деятельности:« где ??? – Blackbelt

Смежные вопросы