Android - 使listview行不可见

时间:2015-05-14 09:36:20

标签: android listview row

如果没有文本,我试图将列表视图行设为空。我以前做过这个,但我不确定我是怎么做到的。目前,当文本等于什么时,我设法让它不显示任何内容,但它仍然显示行边框。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_2, android.R.id.text1, MainActivity.values) {
              @Override
              public View getView(int position, View convertView, ViewGroup parent) {
                View view = super.getView(position, convertView, parent);
                TextView text1 = (TextView) view.findViewById(android.R.id.text1);
                TextView text2 = (TextView) view.findViewById(android.R.id.text2);


                text1.setText(MainActivity.values[position]);
                text2.setText(MainActivity.numvalues[position]);

                    if (MainActivity.values[position].equals("")) {
                        text1.setVisibility(View.INVISIBLE);
                        text1.setVisibility(View.GONE);
                        text2.setVisibility(View.INVISIBLE);
                        text2.setVisibility(View.GONE);
                        //convertView.setVisibility(View.INVISIBLE);
                        //convertView.setVisibility(View.GONE);
                        view.setVisibility(View.INVISIBLE);
                        view.setVisibility(View.GONE);
                    }
                    else {
                        text1.setVisibility(View.VISIBLE);
                        text2.setVisibility(View.VISIBLE);
                        //convertView.setVisibility(View.INVISIBLE);
                        //convertView.setVisibility(View.GONE);
                        view.setVisibility(View.VISIBLE);
                    }

                return view;
              }
            };

2 个答案:

答案 0 :(得分:1)

在init ArrayAdapter之前从MainActivity.values和MainActivity.numvalues中删除不需要显示的项目。

答案 1 :(得分:1)

VIEW.GONE无法正常工作,我已经尝试过了,但是你可以做一件事来避免这个问题,也许你应该删除所有空行之前你把你的物品送到适配器?