我的应用有问题。我试图使用此代码从活动中传输一个整数:
Intent intent = new Intent(context, Lesson.class);
Intent intent1 = new Intent(context, Example1.class);
switch(position){
case 0: {intent.putExtra("Title", l1);intent1.putExtra("check_cat", position);break;}
case 1: {intent.putExtra("Title", l2);intent1.putExtra("check_cat", position);break;}
case 2: {intent.putExtra("Title", l3);intent1.putExtra("check_cat", position);break;}
case 3: {intent.putExtra("Title", l4);intent1.putExtra("check_cat", position);break;}
case 4: {intent.putExtra("Title", l5);intent1.putExtra("check_cat", position);break;}
case 5: {intent.putExtra("Title", l6);intent1.putExtra("check_cat", position);break;}
第一个意图有效但第二个意图不起作用。我没有收到任何数据。这是我处理信息的代码:
final int[] pos_categ = new int[1];
pos_categ[0] = getIntent().getExtras().getInt("check_cat");
然后我尝试将它用作" if语句":
的条件if (pos_categ[0]==1){
title[0] = lessons_titles[position[0]];
eng[0] = eng_version[position[0]];
dan[0] = dan_version[position[0]].toLowerCase();
}
if (pos_categ[0]==2){
title[0] = lessons_titles2[position[0]];
eng[0] = eng_version2[position[0]];
dan[0] = dan_version2[position[0]].toLowerCase();
}
if (pos_categ[0]==3){
title[0] = lessons_titles3[position[0]];
eng[0] = eng_version3[position[0]];
dan[0] = dan_version3[position[0]].toLowerCase();
}...
我没有得到任何错误,但是从应用程序没有通过if语句,因为变量pos_categ [0]没有任何价值......有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
你需要做两件事 每次他们是一个意图时首先检查。
Intent intent = getIntent();
if(intent.hasExtra("check_cat"))
{
// your code
}
第二,你需要将int作为常规int。
final int pos_categ = getIntent().getExtras().getInt("check_cat");
答案 1 :(得分:0)
试试这个
final int[] post_categ = new int[] {getIntent().getExtras().getInt("check_cat")};
或者更好的是:
Intent intent = getIntent();
int pos_categ = 0;
if(intent.hasExtra("check_cat")) {
pos_categ = intent.getExtras().getInt("check_cat");
}