【问题标题】:Adding buttons at run time to each row in a list view在运行时将按钮添加到列表视图中的每一行
【发布时间】:2010-07-17 02:43:36
【问题描述】:

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

【问题讨论】:

    标签: android list view


    【解决方案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);
    }
    

    性能会很好。

    【讨论】:

    • Tag 对象是如何定义的?我似乎在 Android API 文档中找不到它...
    猜你喜欢
    • 2011-11-11
    • 2011-09-03
    • 1970-01-01
    • 2013-11-18
    • 2016-06-21
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    相关资源
    最近更新 更多