如何通过在按钮上滑动来聚合按钮文本?

时间:2012-03-10 12:51:14

标签: android

我的屏幕上有一个充满按钮的活动,每个都有特色文字 类似的东西:[A] [B] [C]等我需要编码,当用户触摸并在屏幕上滑动他/她的手指时,它应该聚合每个触摸按钮的文本,样本结果应为:A + B + C = ABC。我写了一些代码,但它没有按预期工作。在我的代码中,我保留了一个名为按钮的按钮数组,以确定当时触摸的按钮,但此代码只适用于第一次触摸,它是Action_Down,它实现了我触摸的第一个按钮,当我滑动手指时,我无法获得其他按钮文本。那你的建议是什么?请帮忙 。 。

public boolean onTouch(View v, MotionEvent event) {
        switch(event.getAction()){
        case MotionEvent.ACTION_DOWN:

            for(int i=0;i<buttons.size();i++){
                if(buttons.elementAt(i).getId()==v.getId()){
                    text+=buttons.elementAt(i).getText();
                    break;
                }
        }
         break;
        case MotionEvent.ACTION_MOVE:

            for(int i=0;i<buttons.size();i++){
                if(buttons.elementAt(i).getId()==v.getId()){
                    text+=buttons.elementAt(i).getText();
                    break;
                }
            }

        case MotionEvent.ACTION_UP:
            Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
            text="";
            break;
        }
        return false;
    }

1 个答案:

答案 0 :(得分:0)

我想你会想到多点触控,但你的代码不是。

对于多点触控,您需要使用ACTION_POINTER_UP / DOWN。但并非所有设备都支持多点触控。

对于非多点触控,您需要更复杂的处理。可以选择按钮。必须明确地完成连接。