我希望在用户点击按钮时显示我的列表视图,并在他们点击按钮时再次隐藏它。这是有问题按钮的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。
答案 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读到这个你会明白的。并相应地做出改变