2013-12-12 57 views
0

在我的项目中必须从本地数据库填充列表视图。我已经实现了它。当我单击列表项中的行时,我需要在下一个activity中显示列表行中的所有细节。自定义列表适配器。我还没有开始编写详细的列表行。如何将单行中的所有详细信息传递给另一个活动。任何人都可以帮助我?列表行的详细视图

+1

什么样的对象/数据你想传递给细节活动? –

+0

什么问题只是将对象发送到其他活动,并用对象的所有值填充列表。 – keshav

+0

@Keshav如何获取所选项目的对象?以及如何在下一个活动中获取该对象的所有值? – Jolly

回答

0

你可以做的一件事就是传递物品的ID(PK)。然后在下一个活动中,您可以从数据库中再次获取它。

另一种选择是,您可以创建一个类,其中包含要作为类成员转发的所有数据,并序列化对象并将其与意图一起发送。

这里是一个例子

public class ActivityExtra implements Parcelable { 

public Integer a=0; 
public String b=""; 

private GameActivityExtra(Parcel in) { 
    this.a = in.readInt(); 
    this.b = in.readString(); 
} 

public GameActivityExtra() { 
} 

@Override 
public int describeContents() { 
    return 0; 
} 

@Override 
public void writeToParcel(Parcel dest, int flags) { 
    dest.writeInt(a); 
    dest.writeString(b); 

} 

public static final Parcelable.Creator<GameActivityExtra> CREATOR = new Parcelable.Creator<GameActivityExtra>() { 
    public GameActivityExtra createFromParcel(Parcel in) { 
     return new GameActivityExtra(in); 
    } 

    public GameActivityExtra[] newArray(int size) { 
     return new GameActivityExtra[size]; 
    } 
}; 

}

现在在您的活动创建该类的实例。并用intent.putextra(...)来表示。并在接收时获取相同的对象。

+0

我在问我如何传递意图中的值? – Jolly

+0

如何通过意图传递项目的主键。我在onclick方法中获取位置,并且如何找到PM值 – Jolly

+0

为该视图添加标签并在onclick中获取它... view.setTag( ),view.getTag() –

0

您可以在自定义列表的文本视图标签中设置信息并通过意图传递它们。

+0

我如何在单一意图中传递4个标签? – Jolly

+0

你可以使用不同的键。 intent.putExtra(“key1”,textView1.getTag()。toString()),intent.putExtra(“key2”,textView2.getTag()。toString()) –

0

使用@nitesh goel答案使您的对象类parcelabe。

然后onitemclick使用

intent.putExtra("object", object); 

你的对象发送到其他活动。

而且在相应的活动使用

intent.getParcelableExtra("object"); 

让你的对象。那么你可以得到该物体的一切。