遇到使用onLongclick和onClick同时链接到同一布局的单个按钮的问题

时间:2011-08-23 04:45:23

标签: android

这是我的代码,它没有任何错误,工作正常。目前,它同时具有 onLongClick onClick 功能。长按是启动文本到语音操作,然后单击以启动另一个活动的意图。什么工作/我想要它做什么:(当按钮是长按文本到语音被激活,当手指抬起,它进入意图) - 它现在就像这样。但我正在为视力障碍者开发此代码,当用户使用此应用程序时,意外触摸按钮 注意 (不长按)。这也启动了连接到另一个活动的意图,没有文本到语音激活。所以这就是现在的缺陷。我知道我必须添加if / else ......等条件,但是当谈到这个时我是一个真正的初学者。有谁能解决这个问题?任何帮助赞赏。提前致谢。 :d

public class APP extends Activity{

        private TextToSpeech tts;
        private ImageButton b1,b1a,b2,b2a,b3,b3a,b4,b4a; 


        @Override
        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            /** Called when the activity is first created. */
            setContentView(R.layout.main);
            tts = new TextToSpeech (this, null);
            b1 = (ImageButton)findViewById(R.id.btn_time);
            b1.setOnLongClickListener(new ImageButton.OnLongClickListener(){


                @Override
                   public boolean onLongClick(View arg0) {

                    String hi = "Time";
                    tts.speak(hi, 0, null);

                    return false;

                }});

                b1a = (ImageButton)findViewById(R.id.btn_time);
                b1a.setOnClickListener(new Button.OnClickListener(){

                public void onClick(View arg0){
                {

                    Intent i = new Intent("net.learn2develop.TIME");
                    startActivity(i);
                }
              }
           });

2 个答案:

答案 0 :(得分:0)

我已经看到了这种情况的解决方案。

点击事件会显示一个对话框

Text To Speech
Open activity

长按直接打开

Text To Speech

修改

方法是

当用户点击(意外或正常)时,

显示带有选项(opetion1,option2)的对话框

当用户长按

时,

采取直接操作

b1a.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0){
        {
             showDialog(DIALOG_OPITONS);
        }

答案 1 :(得分:0)

尝试将onLongClick的返回类型更改为 true