AddView (View) не поддерживается в AdapterView - LinearLayout вложен в ListView

Я пытаюсь создать список контактов, из которых пользователь может выбрать, чтобы начать разговор. Этот контакт будет иметь изображение профиля и имя пользователя контактера и будет доступен для нажатия (открывает MessageActivity)

Может ли кто-нибудь помочь мне с этим справиться?

Он говорит мне:

Caused by: android.view.InflateException: Binary XML file line #18: addView(View) is not supported in AdapterView

Caused by: java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView

Строка 18:

<include
        layout = "@layout/mylist"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_marginTop = "10dp"/>

который вложен в ListView. mylist.xml - это линейный макет.

Контакты

usersRef.child(friendKey).addListenerForSingleValueEvent(new ValueEventListener() {

                    @Override
                    public void onDataChange(DataSnapshot friendSnapshot) {
                        ArrayList<String> ids = new ArrayList<String>();
                        //String friendName = friendSnapshot.child("username").getValue(String.class);
                        String friendPicture = friendSnapshot.child("image_url").getValue(String.class);
                        ImageView friend_icon = findViewById(R.id.friend_icon2);
                        for (DataSnapshot childSnapshot: friendSnapshot.child("username").getChildren()) {
                            ids.add(childSnapshot.getValue().toString());
                            Picasso.get().load(friendPicture).placeholder(R.drawable.placeholder_image).resize(96, 96)
                                    .centerCrop().into(friend_icon);
                            dataAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.mylist, R.id.Itemname, ids);
                            lstView = (ListView) findViewById(R.id.contactlist);
                            lstView.setAdapter(dataAdapter);
                            individual_contact.setClickable(true);
                            individual_contact.setOnClickListener(new View.OnClickListener(){
                                @Override
                                public void onClick(View v) {
                                    //
                                    Intent intent = new Intent(v.getContext(), MessageActivity.class);
                                    ContextCompat.startForegroundService(v.getContext(), intent );
                                }
                            });
                        }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {
                        throw databaseError.toException();
                    }
                });

В этом вопросе нигде нет JavaScript.

Chris G 28.10.2018 23:40

Проверьте это.

Alex Mamo 30.10.2018 06:48

@AlexMamo спасибо за ссылку. Я изучу это.

ngx311 30.10.2018 16:04
0
3
35
0

Другие вопросы по теме