这是我的代码,它没有任何错误,工作正常。目前,它同时具有 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);
}
}
});
答案 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 。