Android SQLite显示项目“详细信息”

时间:2013-11-06 16:05:14

标签: android sqlite android-listview

在我的项目中,我有一个不同行的SQLite DB。现在我有ListView显示该数据库的某些项目。这些列表项中仅显示名称城市行(在代码 taskName taskDate 中)。现在,我想在您单击这些项目时显示这些项目的“详细信息”页面。因此,详细信息页面应包含/显示所单击项目的所有行,而不仅仅是“名称”和“城市”。到目前为止,我已经完成了这项工作,但只有名称和城市通过.getText()显示在详细活动中。 我使用intent.putExtra()获得了这两行,但我不知道如何显示其他行,因为我无法使用.getText()访问它们,因为它们未显示在{{1}中}}

这是我ListView的代码(如果您需要更多代码,请告诉我):

ListAdapter

到目前为止,这是详细活动:

public class ServiceAdapter extends ArrayAdapter<ServiceItem> {

    private List<ServiceItem> taskList;
    private Context context;

    public ServiceAdapter(Context context, List<ServiceItem> listItems) {
        super(context, R.id.listitem_taskitem, listItems);

        this.context = context;
        this.taskList = listItems;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;

        if (v == null) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = inflater.inflate(R.layout.service_task_list, null);
        }

        ServiceItem task = taskList.get(position);

        if (task != null) {
            TextView taskName = (TextView) v.findViewById(R.id.task_name);
            TextView taskDate = (TextView) v.findViewById(R.id.task_date);

            taskName.setText(task.getCity());
            taskDate.setText(task.getName());
        }

        return v;
    }
}

1 个答案:

答案 0 :(得分:0)

我看到你不知道自己在做什么:P 您有一个提供给适配器的ServiceItem列表,您可以查看它。

当这些项目包含从数据库中提取的所有数据时 - 您可以将序列化对象或其所有数据传递给ServiceDetails活动。

当这些项目仅包含有关名称和城市的信息时,您有两个选项:

  • 填写姓名和城市(当它不是太大时)填写此数据
  • 在ServiceDetails活动中,通过它的名称/ ID或您可以抓取的任何内容从数据库获取对象。