我有一个TextView
,其中包含以下作业代码:
Answer1TextView = (TextView) findViewById(R.id.editText1);
Answer1TextView.setOnClickListener(answer1TextViewListener);
这是我的onClickListener:
private OnClickListener answer1TextViewListener = new OnClickListener()
{
public void onClick(View v)
{
if(Answer1Win){
Toast.makeText(QuizScreen.this,"Correct ",2).show();
} else
{
Toast.makeText(QuizScreen.this,"Incorrect, Pick Another Answer",2).show();
}
}
};
我的问题是双击后只显示Toast。我找不到设置驱动器这种行为,单击后不能显示的设置错误。
答案 0 :(得分:26)
第一次单击只是将焦点设置为TextBox,然后第二次单击实际上作为单击处理。使用onFocusChangeListener
可能会更好运,而不是使用onClickListener答案 1 :(得分:3)
正如克里斯所说,第一次点按重点 TextView
,第二次点按点击。
设置android:focusableInTouchMode="false"
解决了触摸屏的问题,但没有破坏非触摸屏设备的功能。
如果你只是使用android:focusable="false"
来防止,例如,d-pad用户点击视图。
答案 2 :(得分:1)
问题可能是textIsSelectable为true。为XML中的TextView设置textIsSelectable="false"
。
答案 3 :(得分:0)
正确的方法是android:clickable="true"
答案 4 :(得分:0)
使用OnTouchListener
而不是onFocusListener
两次触发