Хобрук: Ваш путь к мастерству в программировании

Доступ к TextView из адаптера CardView в RecyclerView

Этот вопрос похож на Доступ к элементам в CardView после их создания и помещения в RecyclerView. Но я не понял ответа.

У меня есть CardViewAdapter ViewHolder -

public static class ViewHolder extends RecyclerView.ViewHolder {
    public TextView card_text;
    public ViewHolder(View itemLayoutView) {
        super(itemLayoutView);
        card_text = (TextView) itemLayoutView.findViewById(R.id.info_text);
    }
}

И я обращаюсь к нему, используя OnBindViewHolder, который находится в том же, CardViewAdapter -

     public void onBindViewHolder(ViewHolder viewHolder, int position) {
        viewHolder.card_text.setText(mColorData[position]);
        viewHolder.card_text.setBackgroundColor(Color.parseColor("#616161"));
}

Но у меня также есть RecyclerView, и теперь я хочу получить доступ к TextView из этого CardViewAdapter и использовать его в своем RecyclerView Activity, чтобы я мог установить действие, когда оно (долгое) щелкнуло.

My RecyclerView -

public class RecyclerViewMainActivity extends AppCompatActivity {

    private RecyclerView mRecyclerView;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;

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

        String[] colorData = {
        //a simple string array
        }

    mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    mRecyclerView.setHasFixedSize(true);

    mLayoutManager = new LinearLayoutManager(this);
    mRecyclerView.setLayoutManager(mLayoutManager);

    mAdapter = new CardViewDataMainAdapter(colorData);
    mRecyclerView.setAdapter(mAdapter);

    mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(this, mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int position) {
                //do stuff here
       }

      @Override
                public void onItemLongClick(View view, int position) {
                //I want to do stuff here using TextView from CardViewAdapter.
       }
   }

P.S. Я реализовал OnClickListener и OnLongClickListener, используя https://stackoverflow.com/a/26826692/4458075.


  • Где ваш код recyclerview ?? 04.12.2015
  • В моем последнем редактировании :) 04.12.2015
  • Ваш RecyclerView - это другая активность и текстовое представление, которое вы спрашиваете о наличии нескольких экземпляров в адаптере карт 04.12.2015
  • В яблочко. Есть ли способ достичь этого? 04.12.2015
  • Есть несколько текстовых представлений, как узнать, какое текстовое представление вам нужно использовать ??? А зачем тебе именно textview??? Что вы можете сделать, так это создать массив json и сохранить его в файле и использовать этот файл массива json в представлении ресайклера. 04.12.2015
  • Я действительно новичок в Recyclerview, адаптерах и программировании для Android в целом. Видимо, я понятия не имею, как использовать файлы json (но теперь обязательно поищу). А насчет textview, нет, там только один textview, но несколько позиций. 04.12.2015
  • Одно и то же текстовое представление в нескольких позициях означает, что очевидно, что оно будет иметь разное значение в разных позициях. 05.12.2015

Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

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