2017-01-06 3 views
0

У меня действительно действительно странная проблема. Activity4:getIntent(). GetStringArrayListExtra (NAME) возвращает null, если NAME не соответствует «Оценкам»

protected void ToActivity5() { 
    Index = 0; 
    index = 0; 

    ArrayList<String> scores = new ArrayList<>(); 

    Bundle b = new Bundle(); 

    for(int i = 0; i < Count; i++) { 
     scores.add(i, Integer.toString((int) (score[i] * 100.0)) + "%"); 
    } 
    Intent intent = new Intent(Activity4.this, Activity5.class); 
    b.putStringArrayList("Score", scores); 

    b.putBoolean("Second", second); 

    if(!second) { 
     for(int i = 0; i < tpairs.size(); i++) 
      for(int j = 0; j < tpairs.get(i).size(); j++) 
       pairs.add(tpairs.get(i).get(j)); 
     b.putParcelableArrayList("TPairs", pairs); 
    } 
    for(int i = 0; i < 7; i++) 
     score[i] = 0.0; 

    //if(second) 
     //finish(); 
    second = true; 

    intent.putExtras(b); 
    startActivity(intent); 
} 

Activity5:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_5); 
    setTitle(R.string.title_5); 

    Intent intent = getIntent(); 
    ArrayList<String> percents = intent.getStringArrayListExtra("Score"); 

    ArrayList<TwoStrings> arrayList = new ArrayList<>(); 
    for(int i = 0; i < percents.size(); i++) 
     arrayList.add(i, new TwoStrings(getResources().getTextArray(R.array.StatisticDays)[i].toString(), percents.get(i))); 

     //tpairs = getIntent().getParcelableArrayListExtra("TPairs"); 
     //tpairs.size(); 
     //ArrayList<String> ssd = intent.getStringArrayListExtra("Scores"); 

    lv5_1 = (ListView)findViewById(R.id.lv5_1); 

    TwoStringsAdapter adapter = new TwoStringsAdapter(this, R.layout.layout_5_1, arrayList); 
    lv5_1.setAdapter(adapter); 
} 

И проблема в том, что когда я ставлю что-то с «Score» имя, то я могу получить его в следующей деятельности, но если имя отличается, например, «Второе» или что-то другое, тогда я не могу получить объект в Activity5 (я получаю нулевой объект). Пожалуйста, помогите мне. К сожалению, я не нашел подобной проблемы. Вот почему я пишу о проблеме здесь. Спасибо за любую помощь!

+0

'intent.getExtras() getStringArrayList ("Счет").' – buzzingsilently

+0

Хорошо, я постараюсь его. – oputyk

+0

Он по-прежнему не работает. Это то, что я получаю в logcat - java.lang.NullPointerException: пытается вызвать виртуальный метод «int java.util.ArrayList.size()» в ссылке на нулевой объект. Это потому, что я вызываю percents.size(), а объект процентов - null. – oputyk

ответ

0

Используйте этот

Bundle intent = getIntent().getExtras(); 
     ArrayList<String> percents = intent.getStringArrayList("Score");