隐藏列表视图Android中的列 [英] Hide column in listview android

查看:121
本文介绍了隐藏列表视图Android中的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在listview中输入了大约20列.但是我希望该用户可以选择禁用(隐藏)视图中的某些列.我发现我可以制作自己的阵列适配器并查看行.但我不想为2到20个项目连续定义此内容.有什么选择吗?

I had about 20 columns input into listview. But I want that user will have an option to disable (hide) some columns in view. I found that I can make my own Array Adapter and view for row. But I don't want to define this for 2 to 20 items in row. Is there any option how to do it?

推荐答案

我找到了一种方法.例如,我在列表视图中具有此项目的布局.我将创建自己的适配器,然后只需调用setVisibility(View.GONE);.我将从listview隐藏该项目. PS:这只是实码中的一个示例,应该有一些IF()来隐藏列.

I found one way how to do it. For example I have this layout of item in listview. I will made my own adapter and then simply by calling setVisibility(View.GONE); i will hide this item from listview. PS: Here is only example in realcode there should be some IF() to hide column.

项目的布局.

Layout for item.

<TextView
    android:id="@+id/description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<TextView
    android:id="@+id/value"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/description"
    android:layout_alignBottom="@+id/description"
    android:layout_toRightOf="@+id/description"
    android:text="TextView" />

还有MyAdapter.

And MyAdapter.

private class ConnectedAdapter extends ArrayAdapter<ConnectionClass> {

    private ArrayList<ConnectionClass> connectionList;

    public ConnectedAdapter(Context context, int textViewResourceId,
            ArrayList<ConnectionClass> countryList) {
        super(context, textViewResourceId, countryList);
        this.connectionList = new ArrayList<ConnectionClass>();
        this.connectionList.addAll(countryList);
    }

    private class ViewHolder {
        TextView description;
        TextView value;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder = null;
        Log.v("ConvertView", String.valueOf(position));

        if (convertView == null) {
            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = vi.inflate(R.layout.activity_connected_item,
                    null);

            holder = new ViewHolder();
            holder.description = (TextView) convertView
                    .findViewById(R.id.description);
            holder.value = (TextView) convertView
                    .findViewById(R.id.value);

            convertView.setTag(holder);

        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        ConnectionClass connection = connectedList.get(position);
        holder.description.setText(connection.getDescription());
        holder.description.setVisibility(View.GONE);
        holder.value.setText(connection.getValue());

        return convertView;

    }

}

这篇关于隐藏列表视图Android中的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆