Android 如何发送integer参数
我想发送Android 如何发送integer参数,android,android-intent,getstring,Android,Android Intent,Getstring,我想发送intent中的int参数,如下所示: 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.get
intent
中的int
参数,如下所示:
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"));
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();
}
但当我运行代码时,它会强制关闭 应该使用
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);
活动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是默认值。I在其他类中使用主类并向其发送参数,它可以正常工作,但在列表类中我有问题
在其他类中,我喜欢这个send参数
Intent intent = getIntent();
name = intent.getStringExtra("name");
page1 = Integer.parseInt(intent.getStringExtra("page"));
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();
}
在刷新类中,我得到了ted参数
Intent intent = getIntent();
name = intent.getStringExtra("name");
page1 = Integer.parseInt(intent.getStringExtra("page"));
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();
}
private void refresh(){
db.open();
int s=数据库列表计数(“文本”,ID);
名称=新字符串[s];
Ted=新字符串[s];
对于(int i=0;ii)发送两个参数“name”作为字符串,“page”作为整数@Mitun@zahra如果有帮助,请接受它作为答案…否则它将保持未解决:)你是什么意思?你不能用上述方法获得int
数据吗?我得到两个参数“page”和“textname”我发送了这些,我认为其中一个参数有问题,其中一个参数为null,但我不知道如何解决!这是您的实现问题,对吗?但是如果使用上述方法,您能够获得“页面”的正确值
int
extra,这是一个有效的答案…但是,对于int
的每个extra
,字符串
等数据类型,您可以使用相应的API将其作为额外数据类型放入发送意图的包
,以提取这些额外数据。检查中提到的可用方法