2016-08-18 2 views
2

Я хотел сделать две кнопки на моей основной деятельности в startActivityForResultstartActivityForResult сила закрывает мое приложение

Каждый раз, когда я нажимаю одну из этих кнопок моего приложения сила закрывается, и я не могу понять, почему!

Вот код из двух кнопок:

public void billiards (View v) 
{ 

    Intent billiards = new Intent(this,Billiards.class); 

    startActivityForResult(billiards,99710); 

} 



public void snooker (View v) 
{ 

    Intent snooker = new Intent(this,Snooker.class); 

    startActivityForResult(snooker,99711); 



} 

Вот код Billiards деятельности:

public void bsave (View v) 
{ 

    Double dbgames = Double.parseDouble(ebgames.getText().toString()); 
    Double calcbgames = (dbgames)*0.50; 

    Double btotal = (calcbgames); 


    Intent billiards=new Intent(); 
    billiards.putExtra("btot",String.valueOf(btotal)); 
    setResult(99710,billiards); 
    finish(); 

} 

Вот код Snooker деятельности:

public void ssave (View v) 
{ 

    Double dsgames = Double.parseDouble(esgames.getText().toString()); 
    Double calcsgames = (dsgames)*1.00; 

    Double stotal = (calcsgames); 


    Intent snooker=new Intent(); 
    snooker.putExtra("stot",String.valueOf(stotal)); 
    setResult(99710,snooker); 
    finish(); 

} 

И вот код onActivityResult в моем MainActivity:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode==99710) { 
     if (resultCode == RESULT_OK) { 
      String billiardstot = data.getStringExtra("btot"); 

      String bt = billiardstot; 

      SharedPreferences.Editor editor = sharedpreferences.edit(); 

      editor.putString(BToatal, bt); 

      editor.commit(); 


     } else if (resultCode == RESULT_CANCELED) { 
      Toast.makeText(getApplicationContext(), "Wrong Request Code", Toast.LENGTH_LONG).show(); 
     } 
    } 

    if (requestCode==99711) { 
     if (resultCode == RESULT_OK) { 

      String snookertot = data.getStringExtra("stot"); 

      String st = snookertot; 

      SharedPreferences.Editor editor = sharedpreferences.edit(); 

      editor.putString(STotal, st); 

      editor.commit(); 


     } else if (resultCode == RESULT_CANCELED) { 
      Toast.makeText(getApplicationContext(), "Wrong Result Code", Toast.LENGTH_LONG).show(); 
     } 

    } 

} 

Всякий раз, когда я нажимаю на Billiards или Snooker Пуговицы приложение силы закрывает

А вот LogCat:

08-18 02:11:01.220 11972-11972/cafe.al_sheikhabuhamzehcafe E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: cafe.al_sheikhabuhamzehcafe, PID: 11972 
                     java.lang.IllegalStateException: Could not execute method for android:onClick 
                      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) 
                      at android.view.View.performClick(View.java:5198) 
                      at android.view.View$PerformClick.run(View.java:21147) 
                      at android.os.Handler.handleCallback(Handler.java:739) 
                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                      at android.os.Looper.loop(Looper.java:148) 
                      at android.app.ActivityThread.main(ActivityThread.java:5417) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                      Caused by: java.lang.reflect.InvocationTargetException 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                      at android.view.View.performClick(View.java:5198)  
                      at android.view.View$PerformClick.run(View.java:21147)  
                      at android.os.Handler.handleCallback(Handler.java:739)  
                      at android.os.Handler.dispatchMessage(Handler.java:95)  
                      at android.os.Looper.loop(Looper.java:148)  
                      at android.app.ActivityThread.main(ActivityThread.java:5417)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
                      Caused by: java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode 
                      at android.support.v4.app.BaseFragmentActivityEclair.checkForValidRequestCode(BaseFragmentActivityEclair.java:64) 
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:868) 
                      at cafe.al_sheikhabuhamzehcafe.ItemMenu.billiards(ItemMenu.java:149) 
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)  
                      at android.view.View.performClick(View.java:5198)  
                      at android.view.View$PerformClick.run(View.java:21147)  
                      at android.os.Handler.handleCallback(Handler.java:739)  
                      at android.os.Handler.dispatchMessage(Handler.java:95)  
                      at android.os.Looper.loop(Looper.java:148)  
                      at android.app.ActivityThread.main(ActivityThread.java:5417)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at 

com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
08-18 02:11:03.043 11972-11972/cafe.al_sheikhabuhamzehcafe I/Process: Sending signal. PID: 11972 SIG: 9 
+0

«в cafe.al_sheikhabuhamzehcafe.ItemMenu.billiards (ItemMenu.java:149)» Это означает, что ошибка вызвана чем-то на линии 149 в 'ItemMenu.java'. Что это за линия? –

ответ

3

java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode

значения, которые вы используете для вашего requestCode являются слишком большими

придерживаться чего-то меньше, чем 65535

+0

Спасибо, что много работало! –

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