問題タブ [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.
java - Android: 2 つの異なるビューを持つ EfficientAdapter
SDK デモ サンプルのEfficientAdapter の例に基づいて、BaseAdapter の拡張バージョンを使用しています。
私のデータは基本的にオブジェクト ( ListPlaces
) でArrayList
、場所の実際のリストを保持し、 経由でアクセスできますlistPlaces.getValues()
。この ArrayList データは範囲でソートさArrayList
れ、いくつかの特別な項目 (区切り記号) で構成され、データはありませんが、separator
フラグが に設定されていtrue
ます。
my がセパレーターであるデータオブジェクトを取得するたびに、現在のデータオブジェクトが実際のデータで構成されているか、単なるセパレーターダミーであるかに応じて、2 つの異なるレイアウトをEfficientAdapter
返しfalse
、膨張させます。public boolean isEnabled(int position)
public View getView(int position, View convertView, ViewGroup parent)
毎回レイアウトを膨らませると、これはうまく機能します。ただし、毎回レイアウトを膨らませて呼び出すfindViewById
と、ListView
ほとんど使い物にならないほど遅くなります。
ViewHolder
そこで、アプローチで EfficientAdapter を使用しようとしました。しかし、私がアクセスしようとしている 2 つの異なるビューが原因で、そのままでは機能しませんでした。したがって、my convertView != null
(else-case) が ourViewHolder
を介してレイアウト上の項目にアクセスするときはいつでも、前の View がセパレーターであった場合、もちろん、「実際の」項目レイアウトでのみ利用可能な TextView にアクセスすることはできません。
したがってgetView()
、 の場合だけconvertView == null
でなく、前の listRow が現在のものと異なる場合にも、レイアウトをインフレートするように強制します。if (convertView == null || (listRow != listRow_previous)) { [....] }
これでほぼ動作するようになりました。または、少なくとも最初からクラッシュすることはありません。しかし、それでもクラッシュし、何をしなければならないのかわかりません。convertView.getID()
とを調べてみましconvertView.getResources()
たが、これまでのところあまり役に立ちませんでした。他の誰かが、現在convertView
のリスト項目レイアウトまたはリスト区切りレイアウトと一致するかどうかを確認する方法を知っているかもしれません。ありがとう。
これがコードです。[...] 読みやすく理解しやすいように、重要度の低いコードをいくつか取り出しました。
そしてここに私のLogcat出力:
c# - ネットワーク アダプタがファイアウォールで保護されているかどうかをテストする C# API
与えられた - SP2 と複数のネットワーク アダプターを備えた .Net 2.0 XP マシン
ネットワーク アダプタがファイアウォールで保護されているかどうかを確認するために使用できる API はありますか?
OneGuyInDC
android - Android、カスタム ListAdapter は TextView-Text を取得します
独自のアダプターをコーディングし、ListView を介して ListActivity に追加しました。独自のアダプタを作成した理由は、リスト エントリのレイアウトを変更する必要があったためです。リストのすべてのエントリに、3 つの TextView があります。
次に行ったのは、「onListItemClick-Methode」を実装することでした。その後、次のコードで onListItemLongClick - リスナーを実装しました。
私が追加したアクティビティのonCreateで:
次に、次のメソッドを追加しました:
ここで、「id」はリスト内の項目のインデックスです。この ListItem の id="myNr で texview のテキストを取得したいのですが、このテキストを取得する方法はありますか?
c# - C#での安全なダックタイピングの実装
Goがインターフェイスをどのように処理するかを見て気に入った後、C#で次のような同様のダックタイピングを実現する方法について考え始めました。
このDuckTyper.Adapt
メソッドはSystem.Reflection.Emit
、その場でアダプターを作成するために使用します。多分誰かがすでにこのようなものを書いています。モックフレームワークがすでに行っていることとそれほど変わらないと思います。
ただし、実際に適切なメソッドMallard
がない場合、実行時に例外がスローされます。IDuck
コンパイル時の早い段階でエラーを取得するには、MallardToDuckAdapter
回避しようとしているものとまったく同じものを作成する必要があります。
もっと良い方法はありますか?
編集:どうやら私が「安全なダックタイピング」と呼ぶものの適切な用語は構造的タイピングです。
c# - 既存のオブジェクトを抽象化するための設計パターン
既存のオブジェクトの抽象表現を作成したいと考えています。この例では、System.Windows.Forms.TreeNode の機能をラップします。次のようにアダプターを作成することから始めました...
編集:抽象化の目的により、TreeNode を知らなくてもアプリケーションで ITreeNodeAdapter を使用できます。後の段階で別の ITreeNodeAdapter を実装でき、アプリケーションは引き続き機能します。基本的に、TreeNode への依存関係を削除したいと考えています。
子ノードを受け入れるようにクラスを拡張する際に問題があります...上記で使用したアプローチはあまり良くありません。どうすれば改善できるでしょうか?
web-services - アダプタ パターンを使用した API の作成
私は、すべて製品のリストを返すいくつかの Web サービスの API に取り組んでいます。ただし、返されるオブジェクトはまったく異なります。メンバー変数とメソッドに重複がありますが、概念的に異なるか、わずかに異なる数もあります。API を構成する最良の方法は何ですか? これはアダプターのパターンだと思いますが、よくわかりません。
たとえば、私のクラスには(実際の言語ではなく、疑似コード)があります
メンバー: webservice (タイプ: オブジェクト、複数のタイプがあり、すべて同じインターフェースに準拠しています)
メソッド: setCurrentWebservice(service) {self.webservice=service}
メソッド: getProducts() { return self.webservice.getProducts();}
また、一部のメソッドは 1 つの Web サービスでサポートされていますが、他の Web サービスではサポートされていません。「メソッドがサポートされていない」メソッドを作成する必要がありますか? それらは何を返す必要がありますか?
smtp - BizTalk 2009 SMTP アダプターが BCC と優先度をサポートしないのはなぜですか?
http://msdn.microsoft.com/en-us/library/aa560648(BTS.10).aspxを見ると、BCC や Priority が見つからなかったので、サポートされていないと思います。
しかし、なぜ ?
mysql - mysqlplus は ruby mysql より優れたアダプターですか?
mysqlplus gem が一般的なRuby mysql gemよりも優れたデータベース ドライバーであるかどうかを知りたいですか? 私の Rails アプリケーションでは、次のような問題が発生していました: ActiveRecord::StatementInvalid: Mysql::Error: MySQL server has gone away
asp.net - RadioButtonListサブクラスからSelectedValueを取得する
HTMLを希望どおりに出力するコントロールアダプターを作成するために、RadioButtonListコントロールをサブクラス化しました(アダプターを作成するのはこれが初めてです)。
私が直面している問題は、「SelectedValue」プロパティにアクセスするときに、常に空の文字列を取得することです。スーパークラスに切り替えると適切な値が得られるので、本当に戸惑います...ここで何が欠けていますか?
私のサブクラスはこれ以上単純なものではありません。
私のアダプターも非常にシンプルです。
ラジオボタンリストに入力するコードは次のとおりです。
そして生成されたhtml:
java - Android リストビュー: ヘッダー ビューとフッター ビュー
ListActivity では、一度に 20 項目だけを表示したいので、ヘッダー ビューとフッター ビュー (リストの上部と下部) をリストの前のページ ボタンと次のページ ボタンとしてそれぞれ使用する必要があります。
次のようにして、ヘッダー ビューとフット ビューを設定します。
これは正常に機能しますが、リストの一部のページには次のページ ボタンまたは前のページ ボタンがない可能性があるため、これらのヘッダー ビューとフッター ビューを動的に削除および追加する必要があります。
問題は、setListAdapter を呼び出した後、addHeaderView または addFooterView を呼び出せないことです。
これを回避する方法はありますか?