Android - 使列表视图行不可见
问题描述:
我正在尝试使列表视图行为空,如果它没有文本。我之前已经实现了这一点,但我不确定我是如何做到的。目前,当文本没有任何内容时,我设法让它不显示任何内容,但它仍然显示行边界。Android - 使列表视图行不可见
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;
}
};
答
在init ArrayAdapter从MainActivity.values和MainActivity.numvalues项中移除之前,不需要显示。
答
VIEW.GONE
将无法正常工作,我试过了,但有一件事你可以做,以避免这个问题,也许你应该删除你所有的空行,适配器?
为什么你设置可见性**两次**? 'GONE'就够了。节省CPU周期! –