我想在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"));
但是当我运行我的代码时,它会强制关闭!!!
答案 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是默认值。