将数据从一个活动传递到另一个活动并在tablelayout中显示时出错

时间:2011-08-24 09:56:47

标签: android sqlite

嗨,我正在使用捆绑将纬度,经度和地址传递给另一个活动。在另一个活动中,我正在从捆绑中检索数据。但是当我点击使用捆绑包的按钮时,应用程序崩溃了。我无法发布logcat,因为ddms中没有任何内容。我正在使用设备调试模式。继承我的代码:

                   Bundle b=new Bundle();
                   b.putString("latitude", lat+"");
                   b.putString("longitude", lon+"");
                       b.putString("address", result1);
                   Intent i=new Intent(Cortes.this,Display.class);      
                   i.putExtras(b);
                   startActivity(i)  ;

我在按钮的监听器中写这个,而Display是另一个活动。在那个活动中我的代码是:

Bundle b=this.getIntent().getExtras();
latitude=b.getString("latitude");
longitude=b.getString("longitude");
address=b.getString("address");

我正在tablelayout中显示该活动中的数据库。 光标,我已经写了另一个名为Display.in cursor的活动我正在使用我传递给另一个活动的值

请帮助

3 个答案:

答案 0 :(得分:0)

检索这样的数据:

Bundle var_name = getIntent().getExtras().getBundle(key);

答案 1 :(得分:0)

试试这个

Bundle b = getIntent.getExtras();

Bundle b = ClassName.this.getIntent.getExtras();

答案 2 :(得分:0)

如果您使用自定义捆绑包,根据文档,似乎有一些要求:
The keys must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
我知道在活动之间共享数据的常用方法是使用默认的Intent包来存储它们,如下所示:

Intent i=new Intent(Cortes.this,Display.class);      
i.putExtra("latitude", lat+"");
i.putExtra("longitude", lon+"");
i.putExtra("address", result1);
startActivity(i);

然后,你检索这样的信息:

Intent i=this.getIntent();
latitude=i.getStringExtra("latitude");
longitude=i.getStringExtra("longitude");
address=i.getStringExtra("address");