2014-12-28 2 views
0

간단한 질문 만했습니다.java.lang.RuntimeException : 활동 API 17을 재개 할 수 없습니다.

내 안드로이드 프로젝트에서 일하고 있는데, 내 삼성 s5 미니에서 시험해 볼 때마다 괜찮아. 나는 전혀 오류가 없다. 결과는 첫 번째 활동으로 돌아갑니다.

하지만

java.lang.RuntimeException: Unable to resume activity 

    Caused by: java.lang.RuntimeException: Failure delivering result 
    ResultInfo{who=null, request=1, result=-1, data=Intent { 
    cmp=com.pullups.thomas.pullup/.Workout (has extras) }} to activity 
    {com.pullups.thomas.pullup/com.pullups.thomas.pullup.Workout}: 
    java.lang.NumberFormatException: Invalid int: "" 

누군가 말할 수있는이 오류에 직면하고있어 s2의 내 오래된 은하에 내 프로젝트를 실행하려고하면 내 내 은하 S5 미니와 함께하지만 내 갤럭시 S2와 함께 완벽하게 작동 왜.

S5 미니는 여기 내 두 번째 활동 (결과를 보내는 것)의 코드 내가 여분을 얻고는 4.2.2

+1

'Invalid int : ""빈 문자열을 int 어딘가에 변환하려고합니다. – Simon

+0

코드를 게시 할 수 있습니까? 'onActivityResult (int requestCode, int resultCode, Intent data)'메소드에서 뭔가를 받고있는 것 같습니다. 여기서'int = ""' – abhinav

답변

0

에 4.4.2 갤럭시 S2 실행에서 실행되는 사용자가 클릭 할 때 버튼 내가 compteurTimer에 +1을 추가하고 명확하게 빈 INT하지 그래서 적어도 1 기본값

Intent intent = getIntent(); 
    compteurTimer = intent.getExtras().getInt("compteurEntrainement",1); 

    btn_passer.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Intent workout = new Intent(CountDown.this, Workout.class); 
      MyCount_DownTimer.cancel(); 

      compteurTimer++; 

      workout.putExtra("compteurTimer", compteurTimer); 

      setResult(RESULT_OK, workout); 

      finish(); 
      } 
    }); 

난으로 onActivity 결과 코드

있어 첫번째 활동에 그리고 있기 때문에 첫 번째 활동으로 다시 보내
 @Override 
protected void onActivityResult(int requestCode,int resultCode, Intent data){ 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == 1 && resultCode == RESULT_OK && data != null) { 

     compteurEntrainement = data.getIntExtra("compteurTimer", 1); 

     switch (compteurEntrainement){ 
      case 2: 
       backColorDisplay(viewSerie2, viewSerie1, tabOfSeries[1]); 
       break; 
      case 3: 
       backColorDisplay(viewSerie3, viewSerie2,tabOfSeries[2]); 
       break; 
      case 4: 
       backColorDisplay(viewSerie4, viewSerie3,tabOfSeries[3]); 
       break; 
      case 5: 
       backColorDisplay(viewSerie5, viewSerie4,tabOfSeries[4]); 

       btnComplet.setText("TERMINÉ"); 
       btnComplet.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         final Intent pre_workout = new Intent(Workout.this, Pre_Workout.class); 

         setResult(RESULT_OK, pre_workout); 

         finish(); 
        }//onClick 
       }); 
       break; 
      default: 
       viewSerieEnCours.setText(viewSerie1.getText().toString()); 
       break; 
     }//switch 
    }//if 
}//onActivityResult 

나는이 코드가 내 s5 mini에서 오류없이 실행되지만 내 은하 s2에서 작동하지 않는 이유는 묻습니다. 그래서 난

0

몇 가지 힌트 stucked 해요

은 지금 나는 내 첫 번째 활동

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    // Always call the superclass so it can save the view hierarchy state 
    super.onSaveInstanceState(savedInstanceState); 
} 

이 추가되었습니다 그리고이 후 난 오류가있어하지만 compteurTimer 자체를 증가되지 않습니다) (

의도 데이터 = 새로운 의도;

당신은 결과 Intent에 대한 매개 변수 덜 생성자를 사용할 수 있습니다 /// 데이터 ..... setResult (Activity.RESULT_OK, data); finish();

게재로 사용할 활동을 명시 적으로 설정할 필요가 없습니다.

MyCount_DownTimer처럼 다른 곳에서 마무리를 부르지 않았는지 확인하십시오.

줄에 : workout.putExtra("compteurTimer", compteurTimer);, compteurTimer이 정확히 int 유형인지 확인하십시오.

관련 문제