私には問題があります。次のようにリストを作成しました。
List<Map<String, String>> ShopsList = new ArrayList<Map<String,String>>();
private void initList() {
// We add the cities
ShopsList.add(createShop("Antwerpen", "Broer Bretel"));
ShopsList.add(createShop("Antwerpen", "Caffènation"));
ShopsList.add(createShop("Antwerpen", "Caffènation - Take Out Nation"));
ShopsList.add(createShop("Antwerpen", "Coffeelabs"));
ShopsList.add(createShop("Antwerpen", "De Dikke Kat"));
ShopsList.add(createShop("Antwerpen", "Mlle Loustache"));
ShopsList.add(createShop("Berchem", "Broer Bretel"));
ShopsList.add(createShop("Berchem", "Caffènation"));
ShopsList.add(createShop("Berchem", "Caffènation - Take Out Nation"));
と
private HashMap<String, String> createShop(String key, String name) {
HashMap<String, String> shop = new HashMap<String, String>();
shop.put(key, name);
return shop;
}
そこで、SimpleAdapter を使用して、このリストを Listview に表示します。しかし、私が望むのは、特定のキーワードを含むリストのデータのみを表示できるようにすることです。私もです
ListView lv = (ListView) findViewById(R.id.listView);
SimpleAdapter simpleAdpt = new SimpleAdapter(this, ShopsList, android.R.layout.simple_list_item_1,
new String[] {"Antwerpen"}, new int[] {android.R.id.text1});
lv.setAdapter(simpleAdpt);
私がこれを行うと、彼は正しいキーワードを含むデータのみを表示しますが、他のエントリは空として追加します。そのため、2 番目のキーワードを尋ねると、彼は最初に 6 つの空の場所を追加してから、正しいエントリを表示します。
どうすればいいですか?欲しいキーワードでエントリの場所を追加する必要があると思いますが、これらの場所を簡単に取得するにはどうすればよいですか?
ありがとう!