Привет всем!
У меня проблема в приложении для Android. Я пытаюсь сделать приложение со списком покупок. Я попытался сделать 2 списка покупок в своем приложении, каждый из которых со своими предметами. Когда я вижу элементы списка, я использую SimpleCursorAdapter. Проблема в том, что если я хочу увидеть элементы второго списка, я вижу его элементы, а также первый. Что я должен делать? Все заголовки списков хранятся в таблице, а все элементы хранятся в другой таблице. Вот мой класс
Все идеи приветствуются.
Спасибо.
Мой код:
public class Produse extends Activity{
TextView selection;
String titlelist;
String id;
private ProductDbAdapter prod;
private ListDbAdapter db;
private SimpleCursorAdapter adapter;
private ListView lv;
private static final int MENU_ADD = Menu.FIRST;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.produse);
selection=(TextView)findViewById(R.id.text);
lv=(ListView)findViewById(R.id.listprod);
Bundle bundle = getIntent().getExtras();
titlelist = bundle.getString("param1");
id=bundle.getString("param2");
selection.setText(titlelist);
db=new ListDbAdapter(this);
db.open();
prod=new ProductDbAdapter(this);
prod.open();
populate();
prod.close();
db.close();
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_ADD, 0, "Add Item");
return true;
}
public boolean onOptionsItemSelected (MenuItem item) {
switch (item.getItemId()) {
case MENU_ADD:
additem();
return true;
}
return false;
}
public void additem() {
Intent j= new Intent(Produse.this, List2.class);
j.putExtra("param2", id);
startActivity(j);
}
private void populate(){
Cursor c=prod.fetchAll();
startManagingCursor(c);
if (c.moveToFirst()){
do{
if (id.toString().equals(c.getString(1)))
adapter=new SimpleCursorAdapter(this,R.layout.listproduct,c,
new String[] {ProductDbAdapter.KEY_ITEM,ProductDbAdapter.KEY_QUANTITY,ProductDbAdapter.KEY_UNITS},
new int[] {R.id.prod1,R.id.prod2,R.id.prod3});
}while (c.moveToNext());
lv.setAdapter(adapter);
}
}
}