我正在使用 SimpleCursorAdapter 用我的数据库中的项目填充 ListView。当用户单击某个项目时,会将他们带到该项目的详细 Activity 。显示该页面的最佳做法是什么?只需编写一个显示函数来获取我想要为其设置文本的所有 TextViews 并从数据库中填充它们,或者使用另一个 SimpleCursorAdapter 来设置 TextViews?如果答案是使用适配器,我是否必须将详细信息页面推送到 ListView 中?
最佳答案
我认为最好的方法是在列表 Activity 中提取一些 ID,并将该 ID(有意)传递给详细 Activity。
如果数据不是那么多,您可以在 intent 的 extras 中发送所有内容。问题在于 Intent 并非旨在将复杂数据(既不是大量数据)从一个 Activity 发送到另一个 Activity 。
在细节 Activity 中,您应该从数据库中获取数据(例如:select * from people where id = 123
)。现在您可以将该表的列映射到一个简单的对象。
例如:
public class Person {
String name;
Integer age;
String address;
}
作为最后一步,要向您的用户显示数据,请从您的布局中获取一些 TextView ,并使用您从数据库中获得的 person 中的值设置它们的文本。
TextView ageTv = (TextView)findViewById(R.id.age);
ageTv.setText(person.age + " years old");
//etc
没有必要在详细 Activity 中使用 ListView
关于android - 为非 ListView 使用适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831330/