问题标签 [adapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14664 浏览

java - Android:具有两个不同视图的 EfficientAdapter

我正在使用基于SDK 演示示例中的EfficientAdapter 示例的扩展版本的 BaseAdapter。

我的数据基本上是一个对象 ( ListPlaces),它包含一个ArrayList带有实际位置列表的对象,可通过listPlaces.getValues(). 此 ArrayList 数据按范围排序,ArrayList由一些特殊项目(分隔符)组成,没有数据,但separator标志设置为true

现在,每当我EfficientAdapter获得一个作为分隔符的数据对象时,它都会返回falsepublic boolean isEnabled(int position)膨胀public View getView(int position, View convertView, ViewGroup parent)两种不同的布局,具体取决于当前数据对象是由真实数据组成还是只是一个虚拟分隔符。

如果我每次都膨胀布局,这很好用。但是,每次都膨胀布局并调用findViewById会使ListView几乎无法使用的速度变慢。

所以我尝试使用 EfficientAdapter 的ViewHolder方法。但这并不是开箱即用的,因为我尝试访问两种不同的视图。因此,每当我convertView != null的(其他情况)通过我们访问布局上的项目ViewHolder时,并且当前一个 View 是分隔符时,它当然无法访问仅在“真实”项目布局上可用的 TextView。

因此,我还强制我getView()不仅在 时膨胀布局convertView == null,而且在前一个 listRow 与当前不同时:if (convertView == null || (listRow != listRow_previous)) { [....] }

这似乎现在几乎可以工作了。或者至少它不会从一开始就崩溃。但它仍然崩溃,我不知道我该怎么做。我试图研究convertView.getID()and convertView.getResources(),但到目前为止这并没有真正的帮助。也许其他人知道如何检查我当前是否convertView与列表项布局或列表分隔符布局匹配。谢谢。

这是代码。只要有 [...],我就删除了一些不太重要的代码,以使其更易于阅读和理解:

这里是我的Logcat输出:

0 投票
2 回答
3676 浏览

c# - 用于测试网络适配器是否有防火墙的 C# API

给定 - 带有 SP2 和多个网络适配器的 .Net 2.0 XP 机器

是否有可用于检查网络适配器是否有防火墙的 API?

OneGuyInDC

0 投票
12 回答
28798 浏览

android - Android,自定义 ListAdapter 获取 TextView-Text

我编写了自己的适配器并通过 ListView 将其添加到我的 ListActivity。我编写自己的适配器的原因是,我必须对列表条目进行一些布局更改。在列表的每个条目中,我都有 3 个 TextView。

我做的下一件事是实现一个“onListItemClick-Methode”。之后我使用以下代码实现了一个 onListItemLongClick - 侦听器:

在我添加的 Activity 的 onCreate 中:

然后我添加了以下方法:

其中“id”是列表中项目的索引。我现在想用这个 ListItem 的 id="myNr 获取 texview 的文本。有没有办法得到这个文本?

0 投票
4 回答
2206 浏览

c# - 在 C# 中实现安全的鸭子类型

在看了Go如何处理接口并喜欢它之后,我开始思考如何在 C# 中实现类似的鸭子类型,如下所示:

DuckTyper.Adapt方法将用于System.Reflection.Emit动态构建适配器。也许有人已经写过这样的东西。我想这与模拟框架已经做的并没有太大的不同。

Mallard但是,如果实际上没有正确的IDuck方法,这将在运行时引发异常。为了在编译时更早地得到错误,我必须写一个MallardToDuckAdapter这正是我想要避免的。

有没有更好的办法?

编辑:显然,我称之为“安全鸭式打字”的恰当术语是结构打字

0 投票
2 回答
147 浏览

c# - 抽象现有对象的设计模式

我想创建现有对象的抽象表示。对于这个例子,我想包装 System.Windows.Forms.TreeNode 的功能。我首先创建了一个适配器,如下所示......

编辑:抽象的目的将允许我在我的应用程序中使用 ITreeNodeAdapter 而无需了解 TreeNode,在稍后阶段我可以实现不同的 ITreeNodeAdapter 并且应用程序仍然可以工作。我基本上想删除对 TreeNode 的依赖。

我在扩展类以接受子节点时遇到问题……我上面使用的方法感觉不是很好。知道如何改进吗?

0 投票
1 回答
850 浏览

web-services - 使用适配器模式创建 API

我正在为几个 Web 服务开发一个 API,它们都返回一个产品列表。但是,返回的对象完全不同。它们在成员变量和方法上有一些重叠,但也有一些在概念上不同或略有不同的数字。构建 API 的最佳方式是什么?我认为这是适配器模式,但我不确定。

所以例如我的班级有(伪代码,不是真正的语言)

member: webservice (type:object, 可以是多种类型,都遵循同一个接口)

方法:setCurrentWebservice(service) {self.webservice=service}

方法:getProducts() { return self.webservice.getProducts();}

此外,一个 Web 服务支持某些方法,但另一个 Web 服务不支持。我应该制作“方法不支持”的方法吗?那些应该返回什么?

0 投票
1 回答
915 浏览

smtp - 为什么 BizTalk 2009 SMTP 适配器不支持密件抄送和优先级?

查看http://msdn.microsoft.com/en-us/library/aa560648(BTS.10).aspx时,我找不到密件抄送或优先级,所以我确定它不受支持。

但为什么 ?

0 投票
3 回答
1404 浏览

mysql - mysqlplus 是比 ruby​​ mysql 更好的适配器?

我想知道mysqlplus gem 是不是比普通的Ruby mysql gem 更好的数据库驱动程序?我曾经在我的 Rails 应用程序中遇到过一些问题,例如:ActiveRecord::StatementInvalid: Mysql::Error: MySQL server has gone away

0 投票
1 回答
639 浏览

asp.net - 从 RadioButtonList 子类中获取 SelectedValue

我将 RadioButtonList 控件子类化,以便创建一个控件适配器,它可以完全按照我想要的方式输出 HTML(这是我第一次编写适配器)。

我面临的问题是在访问“SelectedValue”属性时,我总是得到一个空字符串。如果我切换到超类,我会得到正确的值,所以我真的很困惑......我在这里错过了什么?

我的子类再简单不过了:

我的适配器也很简单:

填充单选按钮列表的代码如下:

和生成的html:

0 投票
3 回答
24072 浏览

java - android listviews:页眉和页脚视图

在我的 ListActivity 中,我需要页眉和页脚视图(位于列表的顶部和底部)分别用作列表上的上一页和下一页按钮,因为我想一次只显示 20 个项目。

我通过以下方式设置我的页眉和脚视图:

这很好用,但我需要动态删除和添加这些页眉和页脚视图,因为我的列表中的某些页面可能没有下一页按钮或上一页按钮。

问题是,在调用 setListAdapter 后,我无法调用 addHeaderView 或 addFooterView。

有没有解决的办法?