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

时间:2016-12-23 13:48:58

标签: java android listview firebase-realtime-database onitemclicklistener

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

我通过简单地编写一个switch n case方法,让java中的ListView为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;
                }
            }
        });
    }
}

修改

下面我已经包含了我的数据库结构的截图。然后我的应用程序调用数据库的名称部分并将它们填充到我的列表视图中。如果一个项目被删除,它将从我的列表视图中删除该项目。我想使用&#34; url&#34; item,以便在单击名称项时打开url项

enter image description here

1 个答案:

答案 0 :(得分:0)

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

 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));

                }
            });
        }