2

問題:

ListView比較的複雑なレイアウトのアイテムがあります。リスト アイテム ビューの子の 1 つはTextViewリンク付きです。は、そのTextView中にあるリンクのクリックを ( を使用してLinkify)OnClickListener処理できます。また、 リンクではないテキスト部分のクリックを処理する があります。リスナーはビューの位置を取得しListView、クリックを実行します。

@Override
public void onClick(View v) {
    int position = mListView.getPositionForView(v);
    mListView.performItemClick(v, position, mAdapter.getItemId(position));
}

ListViewクリックがトリガーされず、リスト項目の描画可能な状態が更新されないことを除いて、すべてが正常に機能します。TextViewクリックできないアイテム内の他の をクリックすると、それがトリガーされます。

ありがとう!

4

1 に答える 1

2

動作しました。

リスト アイテム ビューclickableを設定し、その背景をstate-list描画可能なものとして設定します。これも に設定addStatesFromChildrentrueます。これにより、その子のいずれかがクリックされたときに、リスト ビュー アイテムの状態が確実に変更されます (子がクリック可能であると仮定します)。

ただし、これにより、ListViewそれ自体がフォーカスを受け取らなくView.OnClickListenerなるOnItemClickedListenerため、ListView.

于 2012-04-21T21:04:38.950 に答える