我正在开发一个应用程序,当我按下按钮时,它会下载 XML 文件,将 xml 数据放入自定义对象并将其传递给第二个活动。
问题是出了点问题:当调用该startActivity()
函数时,应用程序崩溃并出现运行时错误。我的代码是:
public void onClickBtn1(View view)
{
final ProgressDialog dlg = ProgressDialog.show( this, "Data wait", "Waiting data from the site ..");
// Thread to wait data
Thread th = new Thread() {
public void run() {
// Download and parse xml data
final DatiSport dati = new DatiSport();
boolean ret = dati.download();
dlg.dismiss();
// check result
if (ret==true)
{
// -- Ok
handlerUI.post( new Runnable() {
public void run() {
Intent intSec = new Intent(AICSActivity.this, SportActivity.class);
intSec.putExtra("datiSport", dati);
startActivity(intSec);
}
});
}
else
{
startActivity()
应用程序在通话时崩溃。当我断线时,startActivity()
我无法查看名为“dati”的变量,我猜这定义不明确。
如果我用 12345 代替 dati,就没有问题。
数据的问题是什么?
--- 此处更改,因为我无法回复自己 ---
好了朋友们。感谢您的回复!
我的猜测是我需要重新设计应用程序数据。
我的第一次尝试是:下载 XML 文本并将数据放入(相当)复杂的对象中。这个对象包含一个冠军列表,每个冠军都包含一个类别列表,每个类别都包含一个团队列表。
问题是,由于 Serializable 不起作用,Parcelable 的实现过于复杂,它应该生成与 xml 文件几乎相同的数据。
我想知道直接将xml文本传递给其他活动是否应该更容易(他们必须依次显示冠军列表,然后是所选冠军的类别,然后是所选类别的球队列表......)
还有什么想法吗?