この質問が既に存在する場合は申し訳ありませんが、私の問題に対する答えが見つかりませんでした。私のアプリケーションのアイデアはショッピング リストです。ユーザーは食品のリストを表示でき、アイテムをクリックすると、自動的にリストに追加されます。
私がすでに持っているのは、raw フォルダー内の xml ファイルから生成された ListView です。これは私の食べ物です。SQLite データベースには保存していません。
ここでやりたいことは、このリストのアイテムをクリックすると、「ShoppingList.java」という別のアクティビティの ListView に追加されることです。すぐに開くべきではないため、ユーザーはさらにアイテムを追加できます。
アイテムをクリックすると、画面上部の同じアクティビティ内の「選択」と呼ばれる 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();
}