Android: начать работу при нажатии EditText - PullRequest
2 голосов
/ 24 апреля 2011

Как начать новое действие, когда пользователь касается EditText, как в поиске в Facebook и в виджете поиска Google?

Настройка setOnClickListener работает только после первого щелчка.При первом щелчке EditText выделяется, и клавиатура всплывает.При втором нажатии открывается новая активность.Я не хочу этого, вместо этого я хочу, чтобы открыть деятельность на первом клике.Как мне это сделать?

Ответы [ 3 ]

6 голосов
/ 24 апреля 2011

Вам необходимо отключить фокусировку EditText в сенсорном режиме, чтобы онклик выполнялся при первом касании:

<EditText ...
      android:focusableInTouchMode="false" 
      android:editable="false"
/>
1 голос
/ 24 апреля 2011

Установите тип ввода 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:)

0 голосов
/ 24 апреля 2011

Пожалуйста, попробуйте это

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

...