首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ListView / SimpleAdapter不刷新-安卓

ListView / SimpleAdapter不刷新-安卓
EN

Stack Overflow用户
提问于 2018-12-18 06:32:01
回答 1查看 68关注 0票数 2

我想通过单击一个按钮来添加到ListView,但是ListView不刷新。HashMap本身会刷新,但ListView不会。

下面是我的代码:

代码语言:javascript
复制
final ListView grupidView = (ListView) findViewById(R.id.grupiList);
final HashMap<String,String> uusGrupp = new HashMap<>();

Button gruppNupp = findViewById(R.id.lisaGrupp);

final List<HashMap<String, String>> grupiLiikmed = new ArrayList<>();

final SimpleAdapter adapter = new SimpleAdapter(this, grupiLiikmed, R.layout.list_items,
        new String[]{"First line", "Second line"},
        new int[]{R.id.text1, R.id.text2});

Iterator it = uusGrupp.entrySet().iterator();

while(it.hasNext()){
    HashMap<String,String > gruppResult = new HashMap<>();
    Map.Entry pair = (Map.Entry)it.next();
    gruppResult.put("First line", pair.getKey().toString());
    gruppResult.put("Second line", pair.getValue().toString());
    grupiLiikmed.add(gruppResult);
}

grupidView.setAdapter(adapter);

gruppNupp.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        EditText grupp = findViewById(R.id.grupp);
        if(!grupp.getText().toString().equals("")) {
            uusGrupp.put(grupp.getText().toString(), "Grupp");
            grupp.setText("");
            grupidView.invalidateViews();
            adapter.notifyDataSetChanged();

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-18 06:59:54

看起来您没有向支持onClick调用中的适配器grupiLiikmed的列表中添加任何内容。您必须调用类似下面这样的代码来更新适配器:

代码语言:javascript
复制
HashMap<String,String> newItem = new HashMap<>();
newItem.put("First line", "something");
newItem.put("Second line", "else");
grupiLiikmed.add(newItem);
adapter.notifyDataSetChanged();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53823940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档