如果此問題已存在,但我無法找到任何對我的問題的答案,我非常抱歉。我的應用程序的想法是一個購物清單。用戶可以看到食物列表並點擊一個項目,它應該自動添加到列表中。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