如何在android中填充列表

如何在android中填充列表,android,listview,tablerow,Android,Listview,Tablerow,页面布局如下所示: 首先是标题图像 每行有一条记录的表格或列表 对于每个记录,它有一个图像和两个文本视图 如何设计此布局并动态填充数据,例如通过web下载或数据文件(xml/文本格式) 我不知道绑定是如何工作的,我应该使用带有表行的表布局,还是只使用带有一些自定义设置的列表视图?根据您的要求,ListView会很好,您需要使用适配器将数据绑定到视图。 请阅读有关listview和适配器的内容以实现这些功能。实际上,这将是一个广泛的问题,因为您要求从web获取数据,并且需要自定义listview来

页面布局如下所示: 首先是标题图像 每行有一条记录的表格或列表 对于每个记录,它有一个图像和两个文本视图

如何设计此布局并动态填充数据,例如通过web下载或数据文件(xml/文本格式)


我不知道绑定是如何工作的,我应该使用带有表行的表布局,还是只使用带有一些自定义设置的列表视图?

根据您的要求,ListView会很好,您需要使用适配器将数据绑定到视图。
请阅读有关listview和适配器的内容以实现这些功能。

实际上,这将是一个广泛的问题,因为您要求从web获取数据,并且需要自定义listview来显示数据

  • 从Web获取数据:您没有提到它是SOAP还是RESTfulWebService?您将收到什么样的响应,即XML或JSON?最好的情况是,我建议使用JSON实现RESTful

  • 要自定义ListView:我可以为您提供自定义ListView的答案,因为您可以通过扩展BaseAdapter来创建自定义适配器类,实现onView()方法,并扩展自定义行布局文件(1个ImageView+2个TextView),选中此项:

  • 
    

    没有人会将java类和xml都提供给您

    您可以构建一个xml框架。然后使用适配器尝试向列表视图实现数据

    如果您有任何问题,请提供您的代码。那就可以解决了

    页面布局是。。。它有一个图像和两个文本视图

    详细说明吉坦德拉的答案:是的,ListView似乎非常适合这种设置。TableView是可行的,但实际上对于行/列结构更为理想,这听起来不像您需要的

    我如何设计这个布局

    您可以使用androidxml来命名和设置元素的样式。最佳做法是为包含列表本身的屏幕创建布局文件。制作第二个布局文件以容纳常规记录。换句话说,您通常将记录与列表及其容器分开设计。Android开发者的网站上有几个关于布局的优秀教程

    我怎么能。。。动态填充数据

    这个问题有两个部分。首先,在代码中,您需要某种适配器来将数据转换为实际视图。ListView将链接到适配器。适配器将膨胀为记录创建的布局XML。不同的适配器对自定义视图有不同的指导原则。正如Paresh所提到的,BaseAdapter是一个很好的类,但是您确实应该查看提供的不同适配器,看看它们是否已经满足您的需要

    第二,从web获取数据……1)在很大程度上取决于您的web服务器及其分发数据的方式。没有更多的信息,你不可能得到任何可靠的答案。我们只能提出建议。2) 如果你通过一个数据文件,事情会发生很大的变化。可以从围绕数据设计的自定义类中创建对象数组。如果您需要排序,树可能会更好。如果每条记录都有一个唯一的键,那么一个集合或列表可能会对您有好处。基于您的问题,我发现我自己假设您不熟悉Android开发,因此我建议使用
    ArrayAdapter
    将数据文件加载到数组中。这至少可以帮助您更加熟悉自己的项目以及它与Android环境的关系

    我搞不懂绑定是怎么工作的

    不幸的是,这取决于您的视图及其适配器。
    CursorAdapter
    在适配器的
    bindView()
    方法中进行大部分数据绑定,但在
    getView()
    方法中膨胀视图。
    BaseAdapter
    onView()方法中执行此操作。如果您需要更熟悉适配器及其功能,请阅读。他们有很好的示例和代码。此外,在那里搜索“自定义适配器”,您将链接到大量其他教程

    在这一点上,我强烈建议你采取两项行动。1) 做一些决定。您可以从web或数据文件中获取数据。如果你以后想做另一件事,那太好了。处理好其中一个,这样我们可以更有效地帮助你。2) 使用谷歌和安卓开发者资源搜索功能和定义项目的短语。如果您添加单词tutorial或example,您肯定会找到很多帮助您做出这些决策的方法,以便我们能够定制出满足您需求的解决方案

    希望这有帮助


    FuzzicalLogic

    我想要的就像这篇文章中的示例,但有另一个标题图片:我试图先了解想法,不想在一开始就做出错误的决定。这是有用的信息。我的解决方案使用自定义适配器。我认为对于从web获取数据,WCF是另一种选择,对吗?XML更容易存储数据并与BizTalk集成
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="@drawable/img_list_background_repeater"
    android:layout_height="wrap_content"
    android:orientation="vertical" >   
    
    <TextView  
        android:id="@id/android:empty"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/empty_category"/>
    
    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />