Android通过intent传值,无法接收到值,代码如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android通过intent传值,无法接收到值,代码如下:相关的知识,希望对你有一定的参考价值。

传递:@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
// TODO Auto-generated method stub
int dealerId=(Integer) dealerList.get(arg2).get("dealerId");
Intent intent=new Intent();
intent.setClass(getActivity(), DealerActivity.class);
intent.putExtra("dealerId", dealerId);
System.out.println(dealerId);
startActivity(intent);

接收:
Intent intent=getIntent();
String dealerId=intent.getStringExtra("dealerId");
System.out.println("dealerId:-----"+dealerId);

打印出来的id是null

1.传值
Bundle bundle = new Bundle();  
bundle.putString("dealerid", dealerid);
Intent intent = new Intent(getActivity(),DealerActivity.class);
intent.putExtras(bundle);
startActivity(intent);
2.接收
String dealerid = (String) getIntent().getExtras().get("dealerid");

追问

我的错在哪里?

不能putstring

追答把getActivity()换成xxActivity.this. 

Activity is a Context, so when you need a Context inside Activity, just use this. If you need a Context inside a Fragment, use getActivity().

就是说如果继承的是Activity,用this或者MainActivity(可变动).this;
若果继承的是Fragment,就用getActivity().

追问

我传值的页面是fragement

不能写类名.this

追答

那就很明显了,fragment不是Activity,不能像Activity那样传值的。

追问

我传dealerlist集合里面的其他值都可以,就是id不行

追答

是吗?那有没有可能是因为你传递过去的是int类型的,而接收是string类型的,把dealerid换成string类型看看

参考技术A 第一个地方打印的dealerId是null吗?
一般用arg2取的时候要减1的吧追问

第一个不是

接收的是null

参考技术B 加我qq吧,我帮你看一下。525968394追问

加了

1575033689

miniui后台无法接收到input传值

技术分享

技术分享

技术分享

出错原因:在miniui中,此处应写成<input textName="current_unit",在php中才可以使用$_POST[‘current_unit‘]获取到值,翻了很久的官方文档才在某一代码片段中找到,总结2个问题:

  1. 官方文档太不完善
  2. 多看文档

以上是关于Android通过intent传值,无法接收到值,代码如下:的主要内容,如果未能解决你的问题,请参考以下文章

Android学习之Activity跳转与传值

android两个activity之间传值

android学习:intent和Bundle传值上的区别

Android同一应用多个service间传值

Android中实现activity的页面跳转并传值

Android Studio基础项目-两个Activity的Intent基本传值。配置运行安卓版本,去除深蓝色按钮,全屏展示APP运行。