0

我想像这样发送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"));   

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

4

3 回答 3

2

你应该使用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); 
于 2015-05-25T19:49:01.293 回答
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);
}

在刷新类中我得到 ted 参数

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();
    }
于 2015-05-26T07:52:50.420 回答
0

活动一

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 是默认值。

于 2015-05-25T20:04:41.877 回答