从另一个活动获取整数

时间:2014-08-04 05:01:41

标签: android android-intent int

我正试图从另一个活动中获取一个变量intger

我的代码:

------- Activity --------

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    Intent intent = new Intent(Question.this, Answer.class);
    intent.putExtra("id", position);

    startActivityForResult(intent, position);
}



protected void onActivityResult(int requestCode, int resultCode, Intent i) {

    int pos = ------- "I'm trying to get the position in this activity or pos in the other activity." ------- 

    if(pref.getBoolean("answered"+pos, false)){
           ------ Do Something --------
    }

}

这是另一项活动,我正试图从第一项活动或该活动的位置获得位置。

Intent intent = getIntent();
pos = (int) intent.getExtras().getInt("id");

我正在尝试在onActivityResult

中获取pos中的int

有可能吗?

更新

我通过添加

修复了它
onActivityResult(position, position, intent);

3 个答案:

答案 0 :(得分:0)

试试这个:

在第一个活动中

String pos = String.valueOf(position);
intent.putExtra("id", pos);

在非活动

String id= intent.getStringExtra("id");
int pos= Integer.parseInt(id);

希望这可以帮到你!

答案 1 :(得分:0)

有一种方法用于调用getIntExtra()来接收来自意图的int值。

您应该使用它而不是使用getStringExtra() ...

因为getStringExtra()不会将** int 转换为 String ** ,而您的变量将为null ... < / p>

所以你应该尝试下面代码......

Intent intent = getIntent();
if(intent.getExtras() != null)
{
    pos = (int) intent.getIntExtra("id",0); // zero( 0 ) is default value... 
}

修改

如果您在 OnActivityResult() 中获得了价值 你应该试试......

protected void onActivityResult(int requestCode, int resultCode, Intent i) {

    i = i.getData();
    int pos = i.getIntExtra("id",0);
    }

}

答案 2 :(得分:0)

getIntent()将为您提供整个活动的意图。但在你的情况下,你需要来自intent的值,它是onActivityResult方法中的一个参数。

所以

pos = (int) i.getExtras().getInt("id");

因为意图变量是我的方法

protected void onActivityResult(int requestCode, int resultCode, Intent i)