0

アプリに複数の TextView があり、それらに OnFocusChangeListener と OnClickListener の両方を実装しましたが、OnFocusChangeListener が OnClickListener をブロックしていることに気付きました。両方を実装する必要があるため、これを回避する回避策があるかどうか教えてください。

    channelMenu.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View view, boolean b) {

                    //Toast.makeText(getActivity(),"changing Focus",2000).show();
                    if (b) {
                        channelMenu.setShadowLayer(GLOW, 0f, 0f, Color.WHITE);
                        mGroupCallback.OnGroupSelected(channelMenu.getText().toString());

                    } else if (!b) {
                        channelMenu.setShadowLayer(DIM, 0f, 0f, Color.WHITE);
                    }
                }
            });

 channelMenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (!channelMenuExpanded) {

                    if(!ischannelSubMenuCreated){

                        createChannelSubMenu();
                        channelSubmenusContainer.setVisibility(View.VISIBLE);
                        channelMenuExpanded = true;
                    }else if(ischannelSubMenuCreated){
                        channelSubmenusContainer.setVisibility(View.VISIBLE);
                        channelMenuExpanded = true;
                    }
                } else {
                    channelSubmenusContainer.setVisibility(View.GONE);
                    channelMenuExpanded = false;
                }


                mGroupCallback.OnGroupSelected(channelMenu.getText().toString());
            }
        });
4

1 に答える 1

0

クリック リスナーの代わりに、タッチ リスナーを使用してみてください。

tv.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction()==MotionEvent.ACTION_UP){
            //Call your click method.
            return true.
        }
        return false;
    }
});

必要に応じて上記のコードを変更します。

于 2013-11-01T10:08:22.367 に答える