2014-11-03 1 views
-1

Я действительно не вижу проблемы с моим кодом.
startActivity() метод не работает в коде ниже.Android startActivity() не работает внутри for-loop

Even Toast.makeText() не работает.
Если я ставлю тост перед циклом for, он работает, но я не могу поставить startActivity перед циклом for, потому что есть ошибка.

//I think nothing special here 
    case R.id.bGeneral: 
     break; 
    case R.id.bProfessional: 
     type = "professional"; 
     new loadQuestioners().execute(type); 

     break; 

    @Override 
    protected void onPostExecute(JSONObject result) { 
     // TODO Auto-generated method stub 
     pDialog.dismiss(); 
     int success; 
     try { 
      success = result.getInt(TAG_SUC); 
      if (success == 0) { 
       Toast.makeText(getApplicationContext(), 
         result.getString("message"), Toast.LENGTH_LONG) 
         .show(); 
      } else if(success == 1){ 
       Toast.makeText(getApplicationContext(), result.getString("message"),     Toast.LENGTH_LONG).show(); //When I put it here it work 
       MyClass addQuest = new MyClass(); 
       JSONArray jarray = result.getJSONArray("assessments"); 
       for (int x = 0; x < jarray.length(); x++) { 
        JSONObject j = jarray.getJSONObject(x); 
        String question = j.getString("Ass_Quesion"); 
        String a = j.getString("Ass_Opt_A"); 
        String b = j.getString("Ass_Opt_B"); 
        String c = j.getString("Ass_Opt_C"); 
        String d = j.getString("Ass_Opt_C"); 
        String answer = j.getString("Ass_Answer"); 

        addQuest.addQuestion(question, a, b, c, d, answer);    

       } 

       //Toast is also not working here 

       Bundle assessmentType = new Bundle(); 
       Intent questioners = new Intent (Assessments.this, Questioners.class); 
       assessmentType.putString("assessmentType", type); 
       questioners.putExtras(assessmentType); 
       startActivity(questioners); //NOT WORKING HERE 
       finish(); 


      } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     } 

UPDATE Thx за помощь мне, что я Findout, что у меня нет ошибки здесь. Я думаю, что здесь ошибка: forloop не добавляет вопрос моему contructor, поэтому, когда мой класс Questioner получает индекс ArrayList on onCreate, он делает ошибку.

public class MyClass { 

private static ArrayList<ArrayList<String>> questioners = new ArrayList<ArrayList<String>>(); 
private static int col = 0; 

public void addQuestion(String question, String a, String b, String c, String d, String answer){ 
    this.questioners.add(new ArrayList<String>()); 
    questioners.get(col).add(question); 
    questioners.get(col).add(a); 
    questioners.get(col).add(b); 
    questioners.get(col).add(c); 
    questioners.get(col).add(d); 
    questioners.get(col).add(answer); 
    col++; 
} 

public ArrayList<ArrayList<String>> getQuestion(){ 
    return this.questioners; 
} 

}

+0

, пожалуйста, напишите окончание попытки {block – Michael

+0

'оценкаType.putString (" тип оценки ", тип);' ... Что такое 'type'? Я не вижу его нигде в коде. –

+0

Проверьте, не работает ли jarray.length()> 0, иначе это не сработает. – nunofmendes

ответ

0

Проверить, если Assessments класс расширяет Context и Questioners расширяет Activity. Также вы убедитесь, что вы добавили активность Questioners в телефон: . AndroidManifest.xml.

+0

Да, сэр, все они есть. public class Оценки extends Activity реализует OnClickListener, public class Questioners extends Activity –

+0

Можете ли вы разместить сообщение об ошибке? –

+0

Моя ошибка на моем Кондраторе, цикл for не добавляет вопросы от php к моему contructor ~ _ ~ –