すべての行/項目のビューのリストを表示するリストビューがあります (リスト項目には、たとえば 2 つまたは 3 つのボタンを含めることができます)。すべてのアイテムは、フォーカス可能ではなく、クリック可能に設定されていません。このように、項目をクリックすると、ListView OnClick が呼び出されます。私が今やりたいことは、実際にクリックされたビューで performClick() を呼び出すことです (フォーカス可能/クリック可能ではないと設定されていたため、何もしませんでした)。これは可能ですか?クリック位置に基づいてビューを取得する方法を見つけようとしましたが、何も見つかりませんでした。一方、リスト ビューの onItemClick クリック ハンドラは、タッチの x/y も取得していないようです。これには OnTouchEvent を使用できることはわかっていますが、クリックされたアイテムなどを知ることはできません...
1 に答える
3
これを試してみてください。役立つかもしれません...ボタンとListItemに共通のonClickを設定します。
@override
public void onClick(View v) {
Sting position=v.getTag().toString(); //<--- like this
//task to do when clicks on the view...
switch (v.getId()) {
case R.id.<id_of_the_button1>:
//task to do when clicks on the button 1
break;
case R.id.<id_of_the_button2>:
//task to do when clicks on the button 2
break;
}
カスタム アダプタに OnClickListener を実装し、上記の onClick でオーバーライドします。
于 2012-08-07T17:06:11.157 に答える