0

すべての行/項目のビューのリストを表示するリストビューがあります (リスト項目には、たとえば 2 つまたは 3 つのボタンを含めることができます)。すべてのアイテムは、フォーカス可能ではなく、クリック可能に設定されていません。このように、項目をクリックすると、ListView OnClick が呼び出されます。私が今やりたいことは、実際にクリックされたビューで performClick() を呼び出すことです (フォーカス可能/クリック可能ではないと設定されていたため、何もしませんでした)。これは可能ですか?クリック位置に基づいてビューを取得する方法を見つけようとしましたが、何も見つかりませんでした。一方、リスト ビューの onItemClick クリック ハンドラは、タッチの x/y も取得していないようです。これには OnTouchEvent を使用できることはわかっていますが、クリックされたアイテムなどを知ることはできません...

4

1 に答える 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 に答える