2015-08-08 7 views
0

Эй, ребята, я новичок в кодировании, и я недавно работал над приложением. Я установил OnClickListener на свои кнопки, каждый из которых ведет к другому классу, который, я считаю, я указал в манифесте. Когда я запускаю свое приложение, одна из кнопок работает, а другая отключает приложение и сообщает мне, что класс не найден, пожалуйста, помогите. Вот код:Открытие Activity Crashes App

public class CharPage extends ActionBarActivity { 
private static Button button_next; 
private static Button button_kk; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_char_page); 
    OnClickButtonListener(); 
} 
public void OnClickButtonListener() { 
{ 
    button_kk= (Button) findViewById(R.id.buttonkk); 
    button_kk.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Intent intent = new  Intent("com.example.jmac.mortalkombat.Kotal_Khan"); 
        startActivity(intent); 
       } 
      } 
    ); 
} 
button_next = (Button) findViewById(R.id.button); 

button_next.setOnClickListener(
     new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent("com.example.jmac.mortalkombat.CharPage2"); 
       startActivity(intent); 

      } 
     } 
); 

}

Тогда мой Manifest:

 <activity 
     android:name=".CharPage" 
     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=".CharPage2" 
     android:label="@string/title_activity_char_page2" > 
     <intent-filter> 
      <action android:name="com.example.jmac.mortalkombat.CharPage2" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".CharPage3" 
     android:label="@string/title_activity_char_page3" > 
     <intent-filter> 
      <action android:name="com.example.jmac.mortalkombat.CharPage3" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".Kotal_Khan" 
     android:label="@string/title_activity_kotal__khan" > 
     <intent-filter> 
      <action android:name="com.example.jmac.mortalkombat.Kotal_Khan" /> 

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

StackTrace: 26010-26010/com.example.jmac.mortalkombat E/AndroidRuntime: FATAL EXCEPTION: main Процесс: com.example.jmac.mortalkombat, PID: 26010 android.content.ActivityNotF oundException: Действие не найдено для обработки Intent {act = com.example.jmac.mortalkombat.Kotal_Khan} на android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:1801) на android.app.Instrumentation.execStartActivity (Instrumentation.java : 1499) на android.app.Activity.startActivityForResult (Activity.java:3942) на android.app.Activity.startActivityForResult (Activity.java:3889) на android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity .java: 820) at android.app.Activity.startActivity (Activity.java:4213) at android.app.Activity.startActivity (Activity.java:4181) at com.example.jmac.mortalkombat.CharPage $ 1. onClick (CharPage.java:37) на android.vie w.View.performClick (View.java:5197) на android.view.View $ PerformClick.run (View.java:20926) на android.os.Handler.handleCallback (Handler.java:739) на android. os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:145) на android.app.ActivityThread.main (ActivityThread.java:5942) на java.lang. reflect.Method.invoke (собственный метод) at java.lang.reflect.Method.invoke (Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1399) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1194)

+0

добавьте свой след следа, пожалуйста. – Gatunox

+0

Эй, спасибо за ответ быстро, где бы я нашел трассировку стека? –

+0

в logcat Eclipse или Android-студии. – Gatunox

ответ

0

Сначала убедитесь, что у вас есть Деятельность в вашем проекте, которая имеет это имя «Kotal_Khan» и находится под пакетом «com.example.jmac.mortalkombat», поскольку это то, что вы заявили в своем манифесте.

Второе место.

Intent intent = new Intent("com.example.jmac.mortalkombat.Kotal_Khan"); 

для

Intent intent = new Intent(getApplicationContext(), YOURCLASSNAME.class); 

я предполагаю, что будет Kotal_Khan.class.

Удачи.

+0

Спасибо, много брах, попробуйте это! –

+0

Дос вы попробовали? – Gatunox

+0

Да, я попробовал, и сначала это не сработало, и это меня озадачило, поэтому я просто воссоздал активность, потому что понял, что это ошибка IDE, и она начала работать! –

0
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_char_page); 
    button_kk= (Button) findViewById(R.id.buttonkk); 
    button_next = (Button) findViewById(R.id.button); 
    OnClickButtonListener(); 
} 
public void OnClickButtonListener() { 
{ 

    button_kk.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Intent intent = new  Intent("com.example.jmac.mortalkombat.Kotal_Khan"); 
        startActivity(intent); 
       } 
      } 
    ); 


button_next.setOnClickListener(
     new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent("com.example.jmac.mortalkombat.CharPage2"); 
       startActivity(intent); 

      } 
     } 
); 
}