0 / 0 / 0
Регистрация: 05.09.2019
Сообщений: 14
1

Приложение вылетает при выборе фрагмента в sections pager adapter

09.06.2020, 16:11. Показов 475. Ответов 2

Author24 — интернет-сервис помощи студентам
В своем приложении я использую sections pager adapter, и это один из трех элементов. При нажатии на него приложение просто вылетает. Посмотрел logcat, там такая ошибка: com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type mik.maev.dem.Friends. Вот код элемента:

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
package mik.maev.dem;
 
 
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
 
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
 
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
 
 
/**
 * A simple {@link Fragment} subclass.
 */
public class FriendsFragment extends Fragment {
 
    private RecyclerView mFriendsList;
    private DatabaseReference mFriendsDatabase;
    private FirebaseAuth mAuth;
    private String mCurrent_user_id;
    private View mMainView;
 
 
    public FriendsFragment() {
        // Required empty public constructor
    }
 
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        mMainView = inflater.inflate(R.layout.fragment_friends, container, false);
        mFriendsList = (RecyclerView) mMainView.findViewById(R.id.friends_list);
        mAuth = FirebaseAuth.getInstance();
        mCurrent_user_id = mAuth.getCurrentUser().getUid();
        mFriendsDatabase = FirebaseDatabase.getInstance().getReference().child("Friends").child(mCurrent_user_id);
 
        mFriendsList.setHasFixedSize(true);
        mFriendsList.setLayoutManager(new LinearLayoutManager(getContext()));
 
 
 
        return mMainView;
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        FirebaseRecyclerAdapter<Friends, FriendsViewHolder> friendsRecyclerViewAdapter = new FirebaseRecyclerAdapter<Friends, FriendsViewHolder>(
                Friends.class,
                R.layout.users_single,
                FriendsViewHolder.class,
                mFriendsDatabase
        ) {
            @Override
            protected void populateViewHolder(FriendsViewHolder friendsViewHolder, Friends friends, int i) {
                friendsViewHolder.setDate(friends.getDate());
            }
        };
        mFriendsList.setAdapter(friendsRecyclerViewAdapter);
    }
 
    public static class FriendsViewHolder extends RecyclerView.ViewHolder{
        View mView;
 
        public FriendsViewHolder(@NonNull View itemView) {
            super(itemView);
 
            mView = itemView;
        }
        public void setDate(String date){
            TextView userNameView = (TextView) mView.findViewById(R.id.user_single_status);
            userNameView.setText(date);
        }
 
    }
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FriendsFragment">
 
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/friends_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="1dp"
        android:layout_marginTop="2dp" />
</RelativeLayout>
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
 
    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/user_single_image"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="15dp"
        android:src="@drawable/unnamed" />
 
    <TextView
        android:id="@+id/user_single_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="94dp"
        android:layout_marginTop="15dp"
        android:text="Имя"
        android:textColor="#000000"
        android:textSize="18sp" />
 
    <TextView
        android:id="@+id/user_single_status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/user_single_name"
        android:layout_alignParentStart="true"
        android:layout_marginStart="94dp"
        android:layout_marginTop="13dp"
        android:text="Статус" />
 
</RelativeLayout>
Пожалуйста, помогите. Заранее спасибо.

Добавлено через 1 минуту
Если что, первый отрывок кода - это FriendsFragment.java, второй - fragment_friends.xml, а третий- users_single.xml
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2020, 16:11
Ответы с готовыми решениями:

При выборе видео приложение вылетает
private void Video_Click(object sender, RoutedEventArgs e) { FileOpenPicker...

В динамической сборке при выборе элемента treeWidget вылетает ошибка
Ребята, возникла такая вот очень странная проблема. Собираю значит программу на Qt 5.3.1...

Вылетает программа при выборе пункта в диалоговом окне (AlertDialog) для кастомного View
Есть MainActivity.java В нем есть функция: public void onClickSettings(View view) { ...

Приложение вылетает при запуске
Всем привет. Прошу сильно камнями не бросать, только-только начал изучать Objective-C и столкнулся...

2
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
09.06.2020, 16:14 2
Зачем нам разметка, если ошибка явно указывает на тип данных.
0
0 / 0 / 0
Регистрация: 05.09.2019
Сообщений: 14
09.06.2020, 16:33  [ТС] 3
не знаю, на всякий случай прикрепил, может кому-то надо. Есть идеи, что с этим делать?
0
09.06.2020, 16:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2020, 16:33
Помогаю со студенческими работами здесь

Вылетает приложение при запуске
Здравствуйте. Столкнулся со следующей проблемой. В приложении при запуске подключаются сразу...

Приложение вылетает при возобновлении
переписал приложение для считывания смс http://www.itcuties.com/android/read-sms/, с проверками...

Вылетает приложение при обращении к серверу
Обращаюсь к серверу для получения списка продуктов. Сервер проверил, JSON ответ в порядке, на IOS...

При нажатии на кнопку приложение вылетает
Только начинаю изучать swift и возникла такая проблема: пишу простенькое приложение, на экране три...

Вылетает приложение при нажатии на кнопку
Здравствуйте, столкнулся с проблемой, что при нажатии на кнопку приложение вылетает. Программирую в...

Вылетает приложение при включении VPN
Скачал приложение TunnelBear чтобы через VPN зайти на сайт. Всё было нормально пока не нажал кнопку...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru