如果此问题已存在,但我无法找到任何对我的问题的答案,我非常抱歉。我的应用程序的想法是一个购物清单。用户可以看到食物列表并点击一个项目,它应该自动添加到列表中。onListItemClick将项目添加到另一个活动中的ListView
我已经有了一个ListView从原始文件夹中的XML文件生成。这是我的食物,我没有将它存储在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();
}
你的问题不清楚。具体说明你做了什么?你想达到什么以及你面临什么问题。 – 2013-03-12 11:31:02
对不起,我很抱歉。应用程序的整个想法是创建一个购物清单。用户可以看到食物清单并点击它,应该自动添加到购物清单中。到目前为止我所做的是创建一个列表。这些项目存储在xml文件中,而不是存储在sql数据库中。在这里,它被称为“fish.xml”。我现在想要的是,点击此列表中的项目时,该项目将添加到新活动的列表视图中。现在,当我点击一个项目时,它出现在顶部,名为“selection”的textview中,但那不是我想要的。我希望现在更清楚!谢谢! – mynameisbella 2013-03-12 15:05:04