设置ListView的可见性

时间:2013-01-15 11:02:50

标签: android android-listview

我希望在用户点击按钮时显示我的列表视图,并在他们点击按钮时再次隐藏它。这是有问题按钮的onClick监听器:

connectBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if(open){
                mDbAdapter.close();
                connectBtn.setText("Open Database");
                open = false;
                hideUI();


            }else{
                mDbAdapter = new ContactsDbAdapter(v.getContext());
                mDbAdapter.open();
                connectBtn.setText("Close Database");
                open = true;
                showUI();
                //retrieve data
                fillData();
            }
        }
    });

这是showUI()方法:

protected void showUI() {
    fName.setVisibility(View.VISIBLE);
    lName.setVisibility(View.VISIBLE);
    fNameBox.setVisibility(View.VISIBLE);
    lNameBox.setVisibility(View.VISIBLE);
    createBtn.setVisibility(View.VISIBLE);
    this.setVisible(true);

    createBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mDbAdapter.createContact(fNameBox.getText().toString(), lNameBox.getText().toString());
            fillData();
        }
    });
}

和hideUI()方法:

protected void hideUI() {
    fName.setVisibility(View.INVISIBLE);
    lName.setVisibility(View.INVISIBLE);
    fNameBox.setVisibility(View.INVISIBLE);
    fNameBox.clearComposingText();
    lNameBox.setVisibility(View.INVISIBLE);
    lNameBox.clearComposingText();
    createBtn.setVisibility(View.INVISIBLE);
    this.setVisible(false);

}

当我将可见性设置为true时,它工作正常。但是,当我将其设置为false时,我得到一个黑屏,但没有崩溃或错误。有什么想法吗?

注意:this.setVisible(false);。我的课程扩展了ListActivity。

2 个答案:

答案 0 :(得分:3)

setVisibility(View.INVISIBLE);

只是让你看不见,但视图所占用的空间将是它们自己

使用setVisibility(View.GONE);以便视图的大小将会失效

使用此功能并告诉我它是否有用

答案 1 :(得分:0)

ListActivity是保持列表视图

如果你这样做.setVissiblity(false); 它会隐藏列表视图及其内容,以便在您看到背景颜色时它是黑色的。

好的方法是在xml中使用Listview并获取id使得vissible nad不可见的视图你觉得这个apprch很舒服

http://www.vogella.com/articles/AndroidListView/article.html读到这个你会明白的。并相应地做出改变