在第二个Activity中显示ListView项目详细信息

时间:2014-07-16 15:49:36

标签: android android-layout

我有一个Activity项目列表。通过点击某个项目,它会显示第二个Activity,其中包含在第一个Activity中点击的项目的详细信息。

我的第一项活动:(我通过string[]传递Intent

Bundle bundle= new Bundle();
bundle.putStringArray("item_details", new String[]{item_name, item_desc, item_date, item_loc}); 

Intent intent = new Intent(getApplicationContext(), DataProductDetail.class);
intent.putExtras(extras);

我的第二项活动:(接收string[]

 Bundle bundle = this.getIntent().getExtras();
 String[] itemArray = bundle.getStringArray("item_details"); 

 ArrayAdapter<String> itemArrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item, itemArray );

 ListView list = (ListView)findViewById(R.id.list);
        detailsList.setAdapter(itemArrayAdapter );

list_item 的布局:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="18sp"
    android:textColor="#0c2d63" />

我的问题/问题:

我希望应用程序上的第一个屏幕看起来像这样(工作正常):

item1
item2
item3

问题:

在第一个item1中点击Activity时的第二个屏幕应该是这样的(不知道如何获取此代码,上面的代码不起作用):

Name: xyz is "item_name" from array "itemArray" received from intent 
Description: This is the description from "item_desc" from array "itemArray"
Date: This is the date string grabbed from item_date from array "itemArray"

如何获得上面第二个屏幕中显示的布局?我希望Name, Description, Date显示在第二个屏幕上,并抓取每个元素中的某些元素,以显示为项目详细信息。

1 个答案:

答案 0 :(得分:1)

正如您在此处所询问的是第二个活动的layout xml文件示例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Name: " />

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="xyz is item_name from array itemArray received from intent" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Description: " />

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is the description from item_desc from array itemArray" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Date: " />

    <TextView
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is the date string grabbed from item_date from array itemArray" />

</LinearLayout>
</LinearLayout>

截图:

enter image description here

对于TextViews IDs 名称说明日期,您可以通过编程方式调用{{1方法。

当然,因为它只是一个例子,您可能需要添加一些属性来对齐文本等。