我对此请求做了一些研究,但仍未找到可行的解决方案。我有一个复选框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;
}