我正在尝试获取listview上的所有项目(我已附加了一些图像uri)并将它们放入数据库中,然后再次获取它们并将它们加载到列表视图中。
我所做的是:String hex = array_list.toString();
并将该十六进制字符串放入数据库(sqlite)。
FirstFragment:
ListView lv;
ArrayList<Uri> array_list = new ArrayList<Uri>();
ArrayAdapter<Uri> array_adapter;
OnCreate..
array_adapter = new ArrayAdapter<Uri>(getActivity(), android.R.layout.simple_list_item_1, array_list);
lv = (ListView) v.findViewById(R.id.list);
lv.setAdapter(array_adapter);
OnClick..
String hex = array_list.toString();
HashMap<String, String> rcfData = new HashMap<String, String>();
rcfData.put("dateTime", hex);
DataHolder dataHolder = new DataHolder(getActivity());
dataHolder.insertData(rcfData);
以下是将它们放入sqlite之前的项目:(点击OnClick之前)
SecondFragment:
ListView lv2;
ArrayList<Uri> array_list2 = new ArrayList<Uri>();
ArrayAdapter<Uri> array_adapter2;
OnCreate...
array_adapter2 = new ArrayAdapter<Uri>(getActivity(), android.R.layout.simple_list_item_1, array_list2);
lv2 = (ListView) v.findViewById(R.id.list2);
lv2.setAdapter(array_adapter2);
OnClick...
Intent intent = getActivity().getIntent();
String rcfDataId = intent.getStringExtra("unique_id");
DataHolder dataHolder = new DataHolder(getActivity());
HashMap<String, String> rcfData = dataHolder.get_rcfData(rcfDataId);
if(rcfData.size() !=0) {
String s = rcfData.get("dateTime");
Uri hello = Uri.parse(s);
array_list2.add(hello);
array_adapter2.notifyDataSetChanged();
}
问题是,当我尝试将该字符串从sqlite加载到SecondFragment的listview时,它变为如下所示:(单击OnClick of SecondFragment后)
我想要它(在单击OnClick of SecondFragment之后),就像这样:
我怎样才能加载它?
答案 0 :(得分:1)
我不知道DataHolder
,我不知道它是否真的得到了sqlite数据库的支持,但这感觉就像是误用了 - 你可能想要从你的{插入你的每一个项目{1}}作为您表格的单独行。
但是,如果您只想快速解决方法使其正常工作,您可以将您正在阅读的字符串分开,例如:
ListView