如何将变量从文件传输到另一个文件

时间:2014-03-31 22:38:10

标签: android android-intent if-statement

我的应用有问题。我试图使用此代码从活动中传输一个整数:

            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]没有任何价值......有人可以帮我解决这个问题吗?

2 个答案:

答案 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");
}