如何在意图中发送整数参数

时间:2015-05-25 19:47:03

标签: android android-intent getstring

我想在int中发送intent参数,如下所示:

String textname = (String) dataItem.get("name");

Intent m = new Intent(list.this,main.class);
m.putExtra("name",textname);
m.putExtra("page",1);

startActivity(m);

在主要类中我得到那个参数

Intent intent = getIntent();
name = intent.getStringExtra("name");
page1 = Integer.parseInt(intent.getStringExtra("page"));   

但是当我运行我的代码时,它会强制关闭!!!

3 个答案:

答案 0 :(得分:1)

您应该使用getIntent().getIntExtra(name, defaultValue)代替Integer.parseInt(intent.getStringExtra("page"));

<强>更新

int defaultValue = -1;// take any default value of your choice

String name = intent.getStringExtra("name");
int page1 = intent.getIntExtra("page", defaultValue); 

答案 1 :(得分:1)

我在其他类中使用主类并向其发送参数,它没有任何问题但只是在列表类中我有问题 在其他类我喜欢这个发送参数

protected void onListItemClick(ListView l, View v, int position, long id) {

    Intent i = new Intent(list_sub.this,main.class);
    i.putExtra("name", Name[position]);
    i.putExtra("page", Ted[position]);

    startActivity(i);
}

在刷新类中我得到了参数

private void refresh(){

    db.open();
    int s = db.List_count("text", ID);
    Name= new String[s];
    Ted=new String[s];
    for(int i=0;i<s;i++){

        Name[i]=db.List_display_sub("text", ID, i);
        Ted[i]=db.page_count("text", Name[i].toString())+"";

    }
db.close();
    }

答案 2 :(得分:0)

活动A

String textname = (String) dataItem.get("name");
        Intent m = new Intent(list.this,main.class);
        m.putExtra("name",textname);
        m.putExtra("page",1);
        startActivity(m);

活动B

    Intent intent = getIntent();
    name = intent.getStringExtra("name");
    int page = intent.getIntExtra("page", 0);

其中0是默认值。