使用intent从另一个活动传递后的值错误

时间:2013-08-11 21:11:07

标签: android android-layout android-intent int parcelable

我将两个int从一个活动传递到另一个活动,作为我自己班级变量的一部分。

问题是这些值应该是0,0但它显示了一些随机数,如126435,4。

我班级(项目)的结构:

public class item implements Parcelable {
private int id;
private String title;
private String desc;
private double lat;
private double lon;
private String pub;
private int p;
private int n;
//private int cat;

public item(int id, String title, String desc, double lat, double lon, String pub, int p, int n) {
    super();
    this.id = id;
    this.title = title;
    this.desc = desc;
    this.lat = lat;
    this.lon = lon;
    this.pub = pub;
    this.p = p;
    this.n = n;
    //this.cat=cat;
}

添加额外变量(项目):(我是正确的。我已经检查了它,它返回0,0原样:

Intent.putExtra("thing",markers.get(i));
startActivity(Intent);

但是当它通过并且我使用SetText将其设置为textView时,它会显示一些随机数字,我不知道它们来自哪里:

positive.setText(item.getP()+"");
negative.setText(item.getN()+"");

然后我从意图Extra获取项目:

item = getIntent().getParcelableExtra("thing");

Logcat:

08-12 00:08:53.181: D/dalvikvm(5093): GC_CONCURRENT freed 459K, 19% free 12879K/15751K, paused 13ms+6ms, total 58ms
08-12 00:08:53.661: D/ProgressBar(5093): setProgress = 0
08-12 00:08:53.661: D/ProgressBar(5093): setProgress = 0, fromUser = false
08-12 00:08:53.661: D/ProgressBar(5093): mProgress = 0mIndeterminate = false, mMin = 0, mMax = 100
08-12 00:08:53.661: D/ProgressBar(5093): setProgress = 0
08-12 00:08:53.661: D/ProgressBar(5093): setProgress = 0, fromUser = false
08-12 00:08:53.661: D/ProgressBar(5093): mProgress = 0mIndeterminate = false, mMin = 0, mMax = 100
08-12 00:08:53.821: W/SurfaceView(5093): CHECK surface infomation creating=false formatChanged=false sizeChanged=false visible=false visibleChanged=true surfaceChanged=true realSizeChanged=false redrawNeeded=true left=false top=false
08-12 00:08:54.672: D/dalvikvm(5093): GC_FOR_ALLOC freed 1111K, 21% free 12489K/15751K, paused 60ms, total 60ms
08-12 00:08:55.493: I/Async-Example(5093): onPostExecute Called

谢谢你们!

1 个答案:

答案 0 :(得分:2)

我在Parcelable实现中没有以相同的顺序读写。