2014-10-01 100 views
-1

我有一个表为内容名称。内容表中有4个字段:id,lable,des,typ在android的活动listview中

content表用于诗歌数据。

id由Integer填充,它是PrimaryKey

lable是诗的标签。

des是对诗的完整描述。

type是诗的类型,它由“旧”或“新”填充。

现在,我打算将typ标签显示为listview,当typ等于“old”时,我想单击它的每个节点并开始一个新的活动。我希望在新开的活动中展示一下诗歌。

(我可以为特定的数据创建一个列表视图,并显示出来,当我点击它的节点上启动一个新的活动,但我不能显示在新活动诗德)

我该怎么办呢?

+3

请出示相关的代码。 – 2014-10-01 06:17:36

回答

0

一种解决方案是,您可以在开始第二个活动之前搜索带有点击标签的id的des。你可以很容易地转发到第二个活动。

Intent i=new Intent(context, Poem.class); 
i.putExtra("des", yourDes); 
context.startActivity(i); 

第二个活动(在onCreate方法):

Intent intent = getIntent(); 
String des = intent.getStringExtra("des"); 

更多defenseve:

Bundle extras = getIntent().getExtras(); 
String des; 

if (extras != null) 
{ 
    des = extras.getString("des"); 
} 
+0

谢谢你的回复。我为ListView.List的适配器创建了一个标签列表 listData = new ArrayList ();现在我怎样才能从sqlite中获取LABEL和DES,并使用LABEL作为listView并使用DES传递给newActivity? – saeid 2014-10-01 06:48:26

+0

你可以创建一个custome适配器(http://androidexample.com/How_To_Create_A_Custom_Listview_-_Android_Example/index.php?view=article_discription&aid=67&aaid=92),你可以存储id和标签,你在listview中显示的标签以及与数据库中的des相匹配的id。 – 2014-10-01 07:14:35

+0

再次嗨。我尝试http://androidexample.com/How_To_Create_A_Custom_Listview_-_Android_Example/index.php?view=article_discription&aid=67&aaid=92,但我不知道我从哪里可以从dataBase中获取数据。请帮我解决这个问题。 – saeid 2014-10-02 09:55:56

0

当你开始新的活动时,请务必将诗发送给你的意图。

String myPoem = ... 
Intent mActivity = new Intent (this, PoemActivity.class) 
mActivity.putExtra("poem", myPoem); 
startActivity(mActivity); 

然后在的onCreate或onResum你的诗活动,您检索诗字符串:

Intent intent = this.getIntent() 
String poem = intent.getStringExtra("poem"); 

所有这一切都在ListView项目点击。