Java 如何在Android中创建静态表?

Java 如何在Android中创建静态表?,java,android,Java,Android,我刚从iOS开始使用Android编程,需要创建一个静态表。这在iOS中使用静态单元格很简单,但Android中有这样的功能吗 更确切地说,我需要的是,每行有3列,一个TextView只是一个名称,一个EditText是单位数,最后一个TextView是单位数乘以某个常数 我目前理解Android中ListView的方式是,我需要制作一个自定义适配器,它将读取strings.xml中的所有字符串常量。但是,如果我这样做,我可能能够根据需要直观地加载表,但是当EditText值更改时,我将如何处理

我刚从iOS开始使用Android编程,需要创建一个静态表。这在iOS中使用静态单元格很简单,但Android中有这样的功能吗

更确切地说,我需要的是,每行有3列,一个TextView只是一个名称,一个EditText是单位数,最后一个TextView是单位数乘以某个常数

我目前理解Android中ListView的方式是,我需要制作一个自定义适配器,它将读取strings.xml中的所有字符串常量。但是,如果我这样做,我可能能够根据需要直观地加载表,但是当EditText值更改时,我将如何处理该值并编辑相应TextView的文本?我需要每一行都是独立的,并且能够为行中的每一个元素设置ID,这样我就可以访问和编辑它们,但是仅仅从string.xml读取值似乎是不可能的


很抱歉,这里没有给出代码,因为我是Android新手,不知道从哪里开始。如果你能在回答中加入一些代码,那将非常感谢,谢谢

如果表的大小未知(即使已知,也可能更好),最好使用ListView(或者现在使用RecyclerView,使用LinearLayoutManager)

ListView/RecyclerView是通常具有相同类型数据的许多项的视图。正如您所说,将每个数据绑定到一行的组件是适配器

关于在用户滚动列表时保存信息,您应该更新数据源。可以这样做:

  • 输入每一条数据后,立即
  • 当每一行滚动到屏幕外时,当用户离开屏幕时,可以保存该行数据(搜索:on view recycled)

我建议您使用RecyclerView和扩展RecyclerView.Adapter,但是您可以使用ListView和扩展BaseAdapter做同样的事情,并且很容易在两者之间切换

然后,我将创建一个表示每一行的模型类:这应该包括三列中每一列的字段,例如:

class Item {

    private final String name;
    private final int units;
    private final int result;

    Item(String name, int units, int result) {
        this.name = name;
        this.units = units;
        this.result = result;
    }

    String getName() {
        return name;
    }

    int getUnits() {
        return units;
    }

    int getResult() {
        return result;
    }

}
然后您的适配器将保存一个
列表
作为字段。请注意,虽然可以根据单位和单位数计算结果,但这不是适配器的责任-它应该非常简单,因此非常简单,只需在被询问时创建视图,并在被询问时将视图绑定到给定位置的项


  • 其中OP询问如何编辑ListView的项目(使用ListAdapter),并在用户上下滚动时保留更改
  • (滚动到屏幕外)