【发布时间】:2010-07-17 02:43:36
【问题描述】:
我在一个使用列表视图的 android 应用程序中工作。我目前有一个只有一个文本视图的行布局的 XML。根据特定条件,某些行会有一个额外的按钮,而其他一些行可能会有 2 个额外的按钮。我可以覆盖适配器类的 getView 方法来执行此逻辑吗?有性能问题吗?
【问题讨论】:
我在一个使用列表视图的 android 应用程序中工作。我目前有一个只有一个文本视图的行布局的 XML。根据特定条件,某些行会有一个额外的按钮,而其他一些行可能会有 2 个额外的按钮。我可以覆盖适配器类的 getView 方法来执行此逻辑吗?有性能问题吗?
【问题讨论】:
有一个带有 2 个按钮的行布局,然后:
public View getView(int position, View convertView, ViewGroup parent){
// the usual convertView stuff
if(convertView == null){
convertView = layoutInflater.inflate(//TODO);
Tag tag = new Tag();
convertView.setTag(tag);
tag.button1 = (Button)convertView.findViewById(R.id.btn1);
tag.button2 = (Button)convertView.findViewById(R.id.btn2);
}
Tag tag = (Tag)convertView.getTag();
boolean buttonOneShown = //TODO;
boolean buttonTwoShown = //TODO;
tag.button1.setVisibility(buttonOneShown ? VISIBLE : GONE);
tag.button1.setVisibility(buttonTwoShown ? VISIBLE : GONE);
}
性能会很好。
【讨论】: