getIntent()。getStringArrayListExtra(NAME)如果NAME不等于“分数”则返回null

时间:2017-01-06 14:27:40

标签: android android-intent null

我真的很奇怪。 Activity4:

 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”名称的内容时,我可以在下一个活动中获取它,但如果名称不同,例如“Second”或者其他什么,然后我无法在Activity5中获取对象(我得到null对象)。请帮我。不幸的是我没有发现任何类似的问题。这就是我在这里写这个问题的原因。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

使用此

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