RecyclerView - получить позицию внутри Activity, а не RecyclerViewAdapter

Уже третий день я занимаюсь обработкой кликов по просмотру. Я изначально использовалListViewзатем я переключился наRecyclerView, я добавилandroid:onclick элементы каждого элемента управления на моемrow_layout и я обращаюсь с ними в моемMainActivity как это:

public void MyMethod(View view) {}

В моем старомListView реализация, я сделалsetTag(position) чтобы быть в состоянии получить это вMyMethod делая это внутри:

Integer.parseInt(view.getTag().toString())

Это сработало без проблем. Хотя сейчас я имею дело сRecyclerView и быть вынужденным использоватьViewHolder, который не предлагаетsetTag метод. После поиска в течение 2 часов, я обнаружил, что люди используютsetTag как это:

holder.itemView.setTag(position)

Это было приемлемо. Хотя, когда я пытаюсь получить значение отMyMethod функция с использованием строки:

Integer.parseInt(view.getTag().toString())

Приложение вылетает. Я прочитал несколько реализаций обработки onclick внутри адаптера, который работает, но я должен использоватьMainActivity потому что я использую что-то уникальное для этой деятельности.

TL; DR Я хочу отправить позицию кликаемой строки в мойMainActivity в простой манере.

Изменить: я прошу прощения за путаницу, так как моя тема не была очень тщательной. у меня естьRecyclerView и адаптер. Адаптер связан с моимrow_layout, этоrow_layout XML имеет один кореньLinearLayout, Внутри него есть одинTextView, другойLinearLayout (который имеет дваTextViews) и одинButton (для простоты). Я не хочу страдать из-за борьбы с кликами наRecylerView как я сделал сListView, Итак, я решил добавитьandroid:onclick для каждого элемента управления, затем ссылкуTextView а такжеLinearLayout к одному методу и связатьButton (и будущееButtons) их уникальным методам. Чего мне не хватает, так это того, что я хочу рассказать о позиции каждого из методов получения на моемMainActivity, Если я должен связать все, что исходит от адаптера и идет вMainActivity к одному обработчику onclick, пусть будет так. Хотя, как бы я сказал, какой элемент управления нажал кнопку?

Изменить 2: запрошенный макет

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:onClick="MyMethod"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1">
    <TextView
        android:id="@+id/letter"
        android:onClick="MyMethod"
        android:layout_width="60dp"
        android:layout_height="fill_parent"
        />
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:onClick="MyMethod"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/firstname"
            android:onClick="MyMethod"
            android:layout_width="fill_parent"
            android:layout_height="17dp" />
        <TextView
            android:id="@+id/longname"
            android:onClick="MyMethod"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>
    <Button
        android:text="Test"
        android:onClick="OtherMethod"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:id="@+id/process"/>
</LinearLayout>

Ответы на вопрос(1)

Ваш ответ на вопрос