2016-06-01 6 views
1

ビューオブジェクトはonListItemClick(ListView listView, View view, int position, long id)です。RelativeLayoutです。ListFragment onListItemClick - どのコンポーネントがクリックされたかを知る方法

ただし、拡張機能のためにRelativeLayout内のどのコンポーネントもクリックしています。

どうすればよいですか?

+0

https://developer.android.com/training/material/lists-cards.html –

+0

代わりにリストビューのrecyclerviewを使用する理由この回答のショー、私はrecyclerviewが解決すると思いますあなたの問題http://stackoverflow.com/a/24933117/2242903 –

+1

'int position'? –

答えて

1

あなたの問題を解決すると思います。 1つのリスナーを使用する場合は、1つのリスナーを作成し、それを聞きたいすべてのビューに追加します。 onClickメソッドでは、view.getId()をswitchステートメントに置き、どのステートメントをクリックするかを決定できます。

OnItemClickListenerあなたの問題は解決しません。どちらもRecyclerViewに切り替えることはできません。彼らは同じように動作します。それはあなたのアダプターに関するものです。 カスタムアダプターを使用している場合は、ListViewまたはRecyclerViewを使用しても問題ありません。アダプタでは、RelativeLayoutにあるコンポーネントにアクセスできます。上記で説明したようにリスナーを作成し、ビューに追加します。

質問同じですが、似ていない:Android: Add event listeners to every item in a ListView

+0

ありがとうございました。これはまさに私が必要としていたものです。 – user3635998

2

この答えは、なぜ代わりにリストビューのrecyclerviewを使用する示し、私はrecyclerviewはあなたが聴きたいRelativeLayout内のすべてのビューにリスナーを追加する必要がstackoverflow.com/a/24933117/2242903

+1

ビットが複雑で、複数のコンポーネントで完全に動作するサンプルコードの欠如はうまくいきません...しかし、正しい方向に向いてくれてありがとう。 – user3635998

+0

'ListView'と' RecyclerView'は似ています。これは彼の問題を解決しません。 –

+0

@GokhanArikこのアンサーを読んだかstackoverflow.com/a/24933117/2242903? –

関連する問題