Java onListItem在另一个活动中单击将项目添加到ListView
如果这个问题已经存在,我很抱歉,但是我找不到任何问题的答案。我的应用程序的想法是一个购物清单。用户可以看到一个食物列表,点击一个项目,它会自动添加到一个列表中 我已经有了一个从原始文件夹中的xml文件生成的ListView。这是我的食物,我没有将它存储在SQLite数据库中。Java onListItem在另一个活动中单击将项目添加到ListView,java,android,eclipse,Java,Android,Eclipse,如果这个问题已经存在,我很抱歉,但是我找不到任何问题的答案。我的应用程序的想法是一个购物清单。用户可以看到一个食物列表,点击一个项目,它会自动添加到一个列表中 我已经有了一个从原始文件夹中的xml文件生成的ListView。这是我的食物,我没有将它存储在SQLite数据库中。 我现在想做的是,当我点击这个列表中的一个项目时,它会被添加到另一个名为“ShoppingList.java”的活动的列表视图中。它不应该立即打开,因此用户可以添加更多项目 现在,当我点击一个项目时,它被添加到屏幕顶部同一活
我现在想做的是,当我点击这个列表中的一个项目时,它会被添加到另一个名为“ShoppingList.java”的活动的列表视图中。它不应该立即打开,因此用户可以添加更多项目 现在,当我点击一个项目时,它被添加到屏幕顶部同一活动中名为“选择”的文本视图中。 如何将项目从一个活动添加到另一个活动? 非常感谢你的帮助
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();
}
公共类FishOk扩展了ListActivity{
文本视图选择;
ArrayList items=新建ArrayList();
@凌驾
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.foodok_列表);
selection=(TextView)findViewById(R.id.selection);
试一试{
InputStream in=getResources().openRawResource(R.raw.fish);
DocumentBuilder=DocumentBuilderFactory
.newInstance()
.newDocumentBuilder();
Document doc=builder.parse(in,空);
NodeList words=doc.getElementsByTagName(“产品”);
对于(int i=0;i向活动的列表视图
中添加一个对用户不可见且还不存在的项目是没有意义的。您应该有一个存储数据的地方,它可以是SQLite数据库、纯文本文件,或者共享引用
,如果没有太多数据。当您单击B时按钮
在当前的活动中
您应该将信息存储到数据存储器中,然后在第二个活动开始时检索信息以填充列表视图。希望这能有所帮助。活动是一个窗口,您可以在其中放置UI内容用户可以与应用程序交互
现在,对于在整个应用程序的活动中使用数据,您必须使用集合或数据库
但是根据您的要求,我认为您应该使用集合
- 根据您的数据维护Arraylist或HashTable
- 将数据从一个活动传递到另一个活动。
或
- 维护一个单例类并更新该类中的数据访问其他活动中的数据。
我希望这对您有所帮助。您的问题还不清楚。请具体说明您做了什么?您想要实现什么以及您面临什么问题。很抱歉没有具体说明。该应用程序的整个思想是创建一个购物清单。用户可以看到一个食物清单,单击它,它应该会自动添加到购物清单中。我想到目前为止,我所做的是创建一个列表。这些项目存储在一个xml文件中,而不是sql数据库中。在这里,它被称为“fish.xml”。我现在希望,单击此列表中的一个项目时,该项目被添加到一个新活动的列表视图中。现在,当我单击一个项目时,它会显示在顶部,在一个名为“选择”的文本视图中,但这不是我想要的。我希望它现在更清晰!谢谢!我仍在努力解决它,因为我是一个新手!为了传递数据,使用“putExtra”方法是否正确?非常感谢!我会继续尝试,并会给你一个“接受”的答案!