在运行时向列表视图中的每一行添加按钮

时间:2010-07-17 02:43:36

标签: android list view

我在使用列表视图的Android应用程序中工作。我目前有一个用于行布局的XML,只有一个文本视图。根据某些条件,某些行将有一个额外的按钮,而其他一些行可能有2个额外的按钮。我可以覆盖适配器类的getView方法来执行此逻辑吗?是否有任何性能问题?

1 个答案:

答案 0 :(得分:1)

使用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);
}

表现很好。