当用户触摸Facebook搜索和Google搜索小部件中的EditText时,如何开始新活动?
设置setOnClickListener
仅在首次点击后有效。在第一次单击时,EditText将突出显示,并弹出键盘。在第二次单击时,它将打开新活动。
我不想要这个,而是想在第一次点击时打开活动。我该怎么做?
答案 0 :(得分:6)
你需要在触摸模式下禁用EditText的焦点,这将使onclick在第一次点击时执行:
<EditText ...
android:focusableInTouchMode="false"
android:editable="false"
/>
答案 1 :(得分:1)
将EditText的输入类型设置为InputType.TYPE_NULL:
editText.setInputType(InputType.TYPE_NULL);
,在接收用户交互时隐藏软键盘。开始活动:
public void onEditTextClick(View arg0)
{
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
当然,onEditTextClick
方法必须注册到EditText
对象:)
答案 2 :(得分:0)
请试试这个
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="search"/>
和
public void search(View view)
{
EditText text = (EditText)view;
if(text.length() == 0)
return;
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}