如何不从BaseAdapter显示视图

时间:2012-08-09 11:12:10

标签: android android-layout baseadapter

我有一个MultiAutoCompleteTextView,我在其上设置了自定义适配器。现在,此适配器将显示一个选项列表供用户选择,以及用户何时输入一些文本。

这在纵向模式下工作正常。但是在横向中我不希望此适配器显示任何视图(选项列表)。我不想删除适配器。

我尝试将View设置为GONE。并尝试将计数设置为0,以便它根本不显示视图,但由于这个原因,数据本身已经消失,这不应该发生。

如何让适配器加载数据但停止以横向模式显示视图?

1 个答案:

答案 0 :(得分:0)

您可以像这样继承ArrayAdapter。

public class MyArrayAdapter<T> extends ArrayAdapter<T> {

    public MyArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) {
        super(context, resource, textViewResourceId, objects);
        // TODO Auto-generated constructor stub
    }

    @Override
    public int getCount() {
        if(isLandscapeMode())
            return 0;
        return super.getCount();
    }

    public boolean isLandscapeMode()
    {
        DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
        return metrics.xdpi > metrics.ydpi;
    }

}