Отключить EditText, но получать события касания / нажатия - PullRequest
0 голосов
/ 22 октября 2018

Я хотел бы иметь Recyclerview с EditText представлениями внутри каждой строки.Мне нужно отключить EditText для каждой строки, кроме первой.Я делаю это с

holder.edittext.isCursorVisible = false
holder.edittext.isClickable = false
holder.edittext.isFocusable = false
holder.edittext.isFocusableInTouchMode = false

Однако мне бы хотелось, чтобы ViewGroup каждой строки, например, Linear Layout, было доступно для клика во всех строках.Затем мне нужно получить события щелчка в EditText и передать его в ViewGroup, даже если EditText отключен.Возможно ли это сделать?

1 Ответ

0 голосов
/ 22 октября 2018

Отключить EditText

Вы можете использовать holder.edittext.isFocusable = false, чтобы отключить EditText

Тогда мне нужно получить щелчоксобытия в EditText и передать его в ViewGroup, даже если EditText отключен.Возможно ли это сделать?

Вы можете установить ClickListener для вашего EditText и передать событие клика вашему ViewGroup, используя performClick()

  • performClick ()

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

SAMPLE CODE

public class MainActivity extends AppCompatActivity {


    EditText myEditText;
    LinearLayout rootView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myEditText = findViewById(R.id.myEditText);
        rootView = findViewById(R.id.rootView);

        myEditText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                rootView.performClick();

            }
        });

        rootView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, "Prem", Toast.LENGTH_SHORT).show();
            }
        });
    }

}

РЕДАКТИРОВАТЬ

согласно приведенному ниже комментарию как я могу отключить изменение цвета EditText при касании / нажатии, даже когда у меня есть фокусировка = false?

следуйте этомуответ при выборе добавить форму границы для textView и editText,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...