Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Boyek92
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 19
1

Из listview в recyclerview без потерь

11.08.2017, 00:53. Просмотров 383. Ответов 6
Метки нет (Все метки)

Здравствуйте, как переделать листвью в recyclerview если у меня уже все собранно к листвью(адаптер и тд), придётся заново все переделывать, или как то можно более гуманно изменить все?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2017, 00:53
Ответы с готовыми решениями:

Переипользование элементов ListView и RecyclerView
Вот recyclerview, насколько я знаю, держит в памяти ограниченное количество...

Expandable ListView или Expandable RecyclerView что выбрать
Хочу создать приложение списка целей/дел в котором будут использоваться...

Advanced RecyclerView и Expandable RecyclerView
Сделал expandable recycler view на основе advancedRecyclerView сборочки, но не...

RecyclerView внутри recyclerView
Добрый день. Хочу сделать список recyclerView c горизонтальной прокруткой,...

RecyclerView
Скажите что делаю не так. Цель: выводить содержимое бд заголовок, текст и т.п....

6
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
11.08.2017, 11:00 2
А что там переделавать то. Все ж просто.
0
Araikovich
10 / 9 / 1
Регистрация: 09.08.2017
Сообщений: 62
11.08.2017, 13:57 3
Адаптер придется переписать, но это 5 минут делов, тем более, если есть уже заготовленные методы
0
Boyek92
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 19
11.08.2017, 14:23  [ТС] 4
Только адаптер получается?

Добавлено через 14 минут
Не могу унаследовать класс RecyclerView.ViewHolder
Подчеркивает красным строку RecyclerView

И при добавлении зависимости compile, у меня подчеркивал красным зависимость appcompat v7, я нажал игнорировать подчеркивание
Не пойму что не так делаю, вроде бы все так
0
Pablito
2811 / 2235 / 754
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
11.08.2017, 14:24 5
весь код покажешь или дальше будешь плакаться без кода?
0
Boyek92
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 19
11.08.2017, 18:22  [ТС] 6
Сейчас я просто в дали от компьютера, дома скину

Добавлено через 3 часа 56 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
 
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.fourbydevelop.brobets.Adapter.RecyclerAdapter;
import com.fourbydevelop.brobets.Adapter.add_new_post;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
 
import java.util.ArrayList;
import java.util.List;
 
public class main_menu extends AppCompatActivity {
 
    //UI
    private Button mAddNewPost;
    private ImageButton mAddAvatar;
    private RecyclerAdapter adapter;
    private RecyclerView recyclerView;
    private ImageButton mIBdelete_post;
 
    //FireBase
    private FirebaseDatabase mFirebaseDatabase;
    private DatabaseReference mMessageDatabaseReference;
    private ChildEventListener mChildEventListener;
 
 
 
 
    private static class TaskViewHolder extends RecyclerView.ViewHolder{
 
        TextView perviy, vtoroy, name_number, koef, time_number;
        ImageButton del_post;
 
        public TaskViewHolder(View itemView) {
            super(itemView);
 
            perviy = (TextView) itemView.findViewById(R.id.perviy);
            vtoroy = (TextView) itemView.findViewById(R.id.vtoroy);
            name_number = (TextView) itemView.findViewById(R.id.name_number);
            koef = (TextView) itemView.findViewById(R.id.koeff_number);
            time_number = (TextView) itemView.findViewById(R.id.time_number);
 
            del_post = (ImageButton) itemView.findViewById(R.id.IB_delete_post);
        }
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_menu);
        getSupportActionBar().hide();
 
        mMessageDatabaseReference = FirebaseDatabase.getInstance().getReference();
 
        //RecyclerView
        //message = new ArrayList<>();
        //RecyclerView
        recyclerView = (RecyclerView) findViewById(R.id.items_list);
 
        FirebaseRecyclerAdapter <String, TaskViewHolder> adapter;
 
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setHasFixedSize(true);
 
 
 
 
 
        adapter = new FirebaseRecyclerAdapter<String, TaskViewHolder>(
                String.class,
                R.layout.list_element,
                TaskViewHolder.class,
                mMessageDatabaseReference.child("Bro")
        ) {
            @Override
            protected void populateViewHolder(TaskViewHolder viewHolder, String title, final int position) {
                viewHolder.perviy.setText(title);
                viewHolder.vtoroy.setText(title);
                viewHolder.name_number.setText(title);
                viewHolder.koef.setText(title);
                viewHolder.time_number.setText(title);
 
                viewHolder.del_post.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        DatabaseReference itemRef = getRef(position);
                        itemRef.removeValue();
                    }
                });
            }
        };
 
        recyclerView.setAdapter(adapter);
 
 
        mAddNewPost = (Button) findViewById(R.id.add_new_post);
        mAddAvatar = (ImageButton) findViewById(R.id.add_avatar);
 
        //Инициализация Firebase
 
      /* if(mChildEventListener == null){
           mChildEventListener = new ChildEventListener() {
               @Override
               public void onChildAdded(DataSnapshot dataSnapshot, String s) {
 
               }
 
               @Override
               public void onChildChanged(DataSnapshot dataSnapshot, String s) {
 
               }
 
               @Override
               public void onChildRemoved(DataSnapshot dataSnapshot) {
 
               }
 
               @Override
               public void onChildMoved(DataSnapshot dataSnapshot, String s) {
 
               }
 
               @Override
               public void onCancelled(DatabaseError databaseError) {
 
               }
           };
 
           mMessageDatabaseReference.addChildEventListener(mChildEventListener);
 
 
       }*/
 
       
 
 
 
    }
    @Override
    protected void onDestroy() {
        if (mChildEventListener != null) {
            mMessageDatabaseReference.removeEventListener(mChildEventListener);
            mChildEventListener = null;
            super.onDestroy();
        }
    }
 
}
что-то я сделал не так. Приложение запускается, но видимо когда он подгружает базу данный, приложение вылетает и выдает такую ошибку:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FATAL EXCEPTION: main
                                                                           Process: com.fourbydevelop.bro, PID: 14800
                                                                           com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String
                                                                               at com.google.android.gms.internal.zzbqi.zzaD(Unknown Source)
                                                                               at com.google.android.gms.internal.zzbqi.zzb(Unknown Source)
                                                                               at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
                                                                               at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
                                                                               at com.firebase.ui.database.FirebaseRecyclerAdapter.parseSnapshot(FirebaseRecyclerAdapter.java:163)
                                                                               at com.firebase.ui.database.FirebaseRecyclerAdapter.getItem(FirebaseRecyclerAdapter.java:152)
                                                                               at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:195)
                                                                               at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6279)
                                                                               at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6312)
                                                                               at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5258)
                                                                               at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5521)
                                                                               at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5363)
                                                                               at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5359)
                                                                               at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2141)
                                                                               at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1525)
                                                                               at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1488)
                                                                               at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:585)
                                                                               at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3506)
                                                                               at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3254)
                                                                               at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1623)
                                                                               at android.support.v7.widget.RecyclerView$1.run(RecyclerView.java:331)
                                                                               at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
                                                                               at android.view.Choreographer.doCallbacks(Choreographer.java:686)
                                                                               at android.view.Choreographer.doFrame(Choreographer.java:618)
                                                                               at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
                                                                               at android.os.Handler.handleCallback(Handler.java:751)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Подскажите где собака зарыта
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
16.08.2017, 12:51 7
Тут какая-то фигня с хешмепой, в коде идет переприсваивание хешмепа к стрингу.

FirebaseRecyclerAdapter<String, TaskViewHolder> вот тут надо вместо String использовать HashMap
0
16.08.2017, 12:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2017, 12:51

Глючит RecyclerView
Помогите! Есть поисковая строка SearchView, чтобы отфильтровать массив в...

RecyclerView и SQLite
Здравствуйте делал по этому гайду RecyclerView...

RecyclerView Adapter
Пример классического создания адаптера RecyclerView public class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru