Возможность выбора TextView

#android #textview

#Android #textview

Вопрос:

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

Ответ №1:

Вы можете назначить OnClickListener для любого представления и делать все, что хотите, при нажатии на него.

Итак, итог:

 findViewById(R.id.yourViewName).setOnClickListener( new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        //Do whatever you need to do here

    }
});
  

Ответ №2:

Вы можете создать экземпляр, TextView который будет использоваться для определения последнего щелчка TextView :

 private TextView lastClicked;
  

Затем в onClickListener методе ваших TextView -ов вам нужно изменить ваш последний щелчок TextView на текущий.

 myTextView.setOnClickListener(new Button.OnClickListener() {  
    public void onClick(View v) {
        lastClicked = (TextView) v;
    }
});
  

Таким образом, вы можете извлечь выбранное TextView из lastClicked переменной.

Ответ №3:

Это уже существует, оно не называется выбранным, оно называется сфокусированным. Вы можете проверить, сфокусирован ли TextView , выполнив:

 myTextView.isFocused()
  

И в действии вы можете получить текущее сфокусированное представление, выполнив

 getCurrentFocus()