如何将存储在Arraylist中的复选框的结果传递给DbHelper类,以用作SELECT查询方法中的过滤器

时间:2018-08-17 17:28:53

标签: android-intent checkbox

我对此请求做了一些研究,但仍未找到可行的解决方案。我有一个复选框Listview,并将检查的结果存储在数组中。我想将结果传递给数据库助手,以便在运行SELECT查询方法时在数据库过滤器中使用。在我的代码下面找到。当通过Intent Extra从一个Activity传递到另一个Activity时,我知道该怎么做,但是当将数据传递给一个类而不是Activity时,我不认为Intent Extra可以工作

源活动/类

public class LocationCategoryChkbx extends AppCompatActivity {

    ArrayList<String> selectedItems = new ArrayList<>();
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_location_category_chkbx);

        getSupportActionBar().setTitle("Your Foodometer:  Hungry ..");

        ListView chl = (ListView) findViewById(R.id.checkable_list);
        chl.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        String[] items = {"Lekki", "Ikoyi", "Victoria Island", "Ikeja", "Ogudu", "Gbagada", "Ajah", "Chinese", "Indian", "Lebanese", "Grill", "Nigerian", "Dessert", "Thai"};
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.listview_chkbox, R.id.txt_lan, items);
        chl.setAdapter(adapter);
        chl.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String selectedItem = ((TextView) view).getText().toString();
                if (selectedItems.contains(selectedItem)) {
                    selectedItems.remove(selectedItem); //uncheck item
                } else
                    selectedItems.add(selectedItem);
            }
        });
    }

我想使用结果,即在我的getResturantList方法的ArrayList中选中的那些框作为  查询如下所示;

public Cursor getResturantList(){
        SQLiteDatabase database=this.getWritableDatabase();
        Cursor resturantdata;
        resturantdata = database.rawQuery("SELECT * FROM " + TABLE_NAME,null);

        return resturantdata;
    }

0 个答案:

没有答案