Android:单击EditText时启动活动

时间:2011-04-24 14:23:10

标签: android android-activity android-edittext

当用户触摸Facebook搜索和Google搜索小部件中的EditText时,如何开始新活动?

设置setOnClickListener仅在首次点击后有效。在第一次单击时,EditText将突出显示,并弹出键盘。在第二次单击时,它将打开新活动。 我不想要这个,而是想在第一次点击时打开活动。我该怎么做?

3 个答案:

答案 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);
}

相关问题