4

ライン アイテムの特定の部分に触れることができる ListView アイテム レイアウトを作成したいと考えています。これは、緑色の電話ロゴをクリックして通話を開始したり、着信通​​話の詳細をクリックして連絡先に関する詳細情報を取得したりできる、2.0 の Contacts Call Log の動作に似ています。

動作のみの実装は必要ありません。プレスをキャプチャしたい項目の部分に OnClickListeners をバインドする方法は既に知っています。私の本当の問題は、ユーザーが画面の特定の領域を押したときに、特定のケースで UI が適切に反応しないことです。IE: 緑色の電話アイコンをクリックすると、電話の周りのボックスのみが押されたように強調表示されます。名前を押すと、その領域が強調表示されます。

連絡先アプリのソース コードを見ましたが、非常に複雑で、SDK 自体で公開されていないドローアブルとリソースをソース コードが参照しているという問題があります。

Androidの内部リソースに依存しない合理的な実装を希望します。または、少なくとも正しい方向へのいくつかのポインター。

押すだけでなく、5方向キーパッドでも機能するソリューションを探しています。

これが私が話していることを示す図です。

Android 通話履歴
(ソース: the-gadgeteer.com )

4

1 に答える 1

3

greenに設定したメソッドで各リスト行を設定するときのように見えます。ビューをバインドする際に、メソッドを介して電話番号が追加されます。newViewonClickListenercall_iconcall_iconView.setTag()

次に、onClickhandlerで電話番号が取得され、電話Intentが発せられます。

リスト行の他のすべてのプレスは、通常の方法で処理されます —onListItemClickメソッド。

于 2010-01-17T12:35:33.680 に答える