如何用本地json文件填充自定义列表视图?

时间:2015-04-21 04:14:32

标签: android json android-listview arraylist hashmap

我对android很新。我有一个简单的列表和一个自定义原始填充列表。我在assets文件夹中也有一个json文件。这是我的原始xml文件:

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

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TableRow >
        <CheckBox
            android:id="@+id/FoodCheck"
            android:text="Celery"
            android:textColor="#696969"/>
        <TextView
            android:id="@+id/stCal"
            android:text="300"
            android:layout_marginLeft="150dip"
            android:textColor="#696969"/>
    </TableRow>

</TableLayout>


</RelativeLayout>

这是我的简单列表:

<?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" 
 android:background="@drawable/bcgn">

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

 <TextView 
     android:id="@+id/txtHeader"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:text="Vegetables"
    android:textSize="15dip"
    android:textColor="#00008B"
    android:gravity="center"
    android:textAllCaps="true"
    android:background="#7FFFD4"
    />


<ListView android:id="@+id/list"
    android:drawSelectorOnTop="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
 android:divider="#A9A9A9"
android:dividerHeight="2dip"
 android:addStatesFromChildren="true"/>
</TableLayout>
</LinearLayout>

这是我的Json文件的简短版本:

[{"name":"celery","cal":200},{"name":"carrot","cal":700},{"name":"lettuce","cal":500}]

我真的需要将Json转换为hashmap吗?我可以使用一个清单吗?我是否需要在单独的java文件上安装适配器?如果是,请提供完整的代码和简要说明,因为我是新的,无法理解某些部分。非常感谢你

1 个答案:

答案 0 :(得分:0)

  

我真的需要将Json转换为hashmap吗?

是的,您必须实施JSON parsing逻辑,您可以准备HashMapArrayList

  

我可以使用一个列表吗?我是否需要将适配器单独安装   java文件?如果是,请提供完整的代码和简介   解释,因为我是新的,无法理解某些部分。

没有必要将适配器定义为单独的类,但这是一种很好的做法。谷歌和#34;如何在Android&#34;中定义自定义适配器,网上有足够的资源,所以我相信你会得到它。

我已经为上述两个主题编写了教程,您可以在我的博客上阅读这些教程!

P.S。我知道我在这里粘贴了一个链接,但不能在这里包含这些解释和详细信息,因为它的代码和步骤很长!