如果这个问题已经存在,我很抱歉,但我找不到任何问题的答案。我的应用程序的想法是购物清单。用户可以看到食物列表,并且在点击某个项目时,它应该自动添加到列表中。
我已经拥有的是从原始文件夹中的xml文件生成的ListView。这是我的食物,我没有将它存储在SQLite数据库中 我现在要做的是,当我点击此列表中的某个项目时,它会被添加到名为“ShoppingList.java”的另一个Activity中的ListView中。它不应该立即打开,因此用户可以添加更多项目。
现在,当我点击某个项目时,它会被添加到屏幕顶部同一个Activity中名为“selection”的TextView中。 如何将一个项目中的项目添加到另一个项目中? 非常感谢您的帮助!
public class FishOk extends ListActivity {
TextView selection;
ArrayList<String> items=new ArrayList<String>();
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.foodok_list);
selection=(TextView)findViewById(R.id.selection);
try {
InputStream in=getResources().openRawResource(R.raw.fish);
DocumentBuilder builder=DocumentBuilderFactory
.newInstance()
.newDocumentBuilder();
Document doc=builder.parse(in, null);
NodeList words=doc.getElementsByTagName("product");
for (int i=0;i<words.getLength();i++) {
items.add(((Element)words.item(i)).getAttribute("value"));
}
in.close();
}
catch (Throwable t) {
Toast
.makeText(this, "Exception: "+t.toString(), 2000)
.show();
}
ListView lstView = getListView();
lstView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lstView.setTextFilterEnabled(true);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
items));
}
public void onListItemClick(ListView parent, View v, int position,
long id) {
selection.setText(items.get(position).toString());
}
public void onClick(View view) {
ListView lstView = getListView();
String itemsSelected = "Selected items: \n";
for (int i=0; i<lstView.getCount(); i++) {
if (lstView.isItemChecked(i)) {
itemsSelected += lstView.getItemAtPosition(i) + "\n";
}
}
Toast.makeText(this, itemsSelected, Toast.LENGTH_LONG).show();
}
答案 0 :(得分:1)
将项目添加到ListView
的{{1}},该项目对用户不可见且尚不存在是没有意义的。您应该有一个存储数据的位置,它可以是SQLite数据库,纯文本文件,如果数据不多,则可以是Activity
。当您点击当前SharedPreferences
内的Button
时,您应该将信息存储到数据存储中,然后检索它以在第二个Activity
时填充ListView
开始。希望这会有所帮助。
答案 1 :(得分:0)
活动是一个窗口,您可以将 UI内容放在用户可以与应用程序进行交互
现在,对于整个应用程序中的使用数据,您必须使用集合或数据库。
但根据您的要求,我认为您应该使用收藏。
根据您的数据维护一个Arraylist或HashTable 。
将数据从一个活动传递到另一个活动。
OR
我希望这会对你有所帮助。