当前位置: 代码迷 >> Android >> Android 传送 数据 intent
  详细解决方案

Android 传送 数据 intent

热度:731   发布时间:2016-04-28 06:01:12.0
Android 传递 数据 intent
本帖最后由 u013769695 于 2014-04-18 17:05:05 编辑
Android程序里面有多个线程,我怎么把在主Activity里面的一个线程中定义String  info中的info 传递给另外一个Acticity,我尝试了intent 各种方法,总是报错空指针异常,虚心求教,本人小菜鸟一枚,求学习!!!!!
------解决方案--------------------
你要传个值有简单做法啊,定义个类里面有个静态string字段来保存,线程操作这个静态属性,在任何activity里直接取就行了
------解决方案--------------------
引用:
Android程序里面有多个线程,我怎么把在主Activity里面的一个线程中定义String  info中的info 传递给另外一个Acticity,我尝试了intent 各种方法,总是报错空指针异常,虚心求教,本人小菜鸟一枚,求学习!!!!!


你应该不会是在子线程里面直接启动其它Activity吧? 应该是要回到UI线程再启动其它activity吧? 然后定义一个intent,可以put各种类型的值啊,然后在要启动的activity的oncreate里,getintent() 然后获取对应的key,就可以获取到你传过来的数据了啊
------解决方案--------------------
Intent肯定是可以的,肯定是你自己的写得有问题。


引用:
你要传个值有简单做法啊,定义个类里面有个静态string字段来保存,线程操作这个静态属性,在任何activity里直接取就行了


说的意思是在一个类里面设置static变量,在其他的类中直接通过类名引用。
------解决方案--------------------
在第一个Activity中,赋值给String型的name。
[ ((ListView)v).getAdapter().getItem(oldPosition).toString()]这个按照你自己的实际组件来获取,只是给个例子。
                        Intent intent = new Intent();
                        intent.setClass(MainActivity.this, DetailActivity.class);
                        intent.putExtra("name", ((ListView)v).getAdapter().getItem(oldPosition).toString());
                        startActivity(intent);

在第二个中获取name。
Intent intent = this.getIntent();
name = intent.getStringExtra("name");
  相关解决方案