可以有更多或更少项目的 OnItemClickListener

OnItemClickListener that can have more or less items

我有一个带有数据库的服务器。在我的数据库中,目前我有 25 个项目,但将添加和删除项目。

我通过简单地编写一个 switch n case 方法,让 ListView in java 处理 25 个项目。

但是我该如何编写才能在我的数据库中添加或删除项目时将额外的案例项目添加到我的ItemListener

这就是我目前的方式,但我不想每次添加新项目时都更新我的应用程序

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    switch(i){
                        case 0:
                            break;
                    }
                }
            });

编辑

这就是我使用 firebase 将项目添加到列表的方式

mrootref = new Firebase("my firebaselink");
lv = (ListView)findViewById(R.id.lvnames);

mrootref.child("Mydatabase name").addChildEventListener(new ChildEventListener() {

    @Override
    public void onChildAdded(DataSnapshot snapshot, String s) {
        final ArrayAdapter<String> jlistAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1, webstreamsArray);
        lv.setAdapter(jlistAdapter);

        String streamname = snapshot.child("name").getValue(String.class);
        jlistAdapter.notifyDataSetChanged();
        webstreamsArray.add(streamname);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                switch(i){
                    case 0:
                        break;
                }
            }
        });
    }
}

编辑

下面是我的数据库结构的屏幕截图。然后我的应用程序调用数据库的名称部分并将它们填充到我的列表视图中。如果一个项目被删除,它会从我的列表视图中删除该项目。我想使用 "url" 项目,以便在单击名称项目时打开 url 项目

这是我在你们的帮助下得出的结论

 Urlname = snapshot.child("url").getValue(String.class);
            jlistAdapter.notifyDataSetChanged();
            webstreamsArray.add(streamname);
            urlList.add(Urlname);
            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {


                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {


                   WebView webView = (WebView) findViewById(R.id.webView1);
                    webView.setVisibility(View.VISIBLE);
                    webView.getSettings().setJavaScriptEnabled(true);
                    webView.loadUrl(urlList.get(i));

                }
            });
        }