Android.view.InflateException Строка двоичного файла XML № 26 Ошибка при раздувании класса EditText

Устал решать эту проблему. приложение не выполняет, оно всегда показывает мне эту ошибку. Строка двоичного XML-файла № 26: Ошибка наполнения класса EditText. Я не понимаю, как решить эту проблему. Это мой activity_members.xml

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout
    xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:app = "http://schemas.android.com/apk/res-auto"
    xmlns:tools = "http://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:orientation = "vertical">

    <android.support.constraint.ConstraintLayout
        android:id = "@+id/newMeetScreen"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:visibility = "visible"
        tools:layout_editor_absoluteX = "384dp">

        <ImageView
            android:id = "@+id/imageView3"
            android:layout_width = "0dp"
            android:layout_height = "54dp"
            android:src = "@drawable/gradient"
            app:layout_constraintEnd_toEndOf = "parent"
            app:layout_constraintStart_toStartOf = "parent"
            app:layout_constraintTop_toTopOf = "parent" />

        <EditText
            android:id = "@+id/edit_search"
            android:layout_width = "0dp"
            android:layout_height = "0dp"
            android:layout_marginStart = "11dp"
            android:layout_marginTop = "7dp"
            android:layout_marginEnd = "13dp"
            android:layout_marginBottom = "7dp"
            android:background = "@drawable/radius_edit_text"
            android:drawableLeft = "@drawable/ic_search"
            android:drawablePadding = "3dp"
            android:hint = "Поиск"
            android:imeOptions = "actionGo"
            android:inputType = "text"
            android:textColor = "@color/colorPrimaryDark"
            android:textColorHint = "#9b9a9a"
            android:textSize = "20sp"
            app:layout_constraintBottom_toBottomOf = "parent"
            app:layout_constraintEnd_toStartOf = "@+id/btnDone"
            app:layout_constraintStart_toStartOf = "parent"
            app:layout_constraintTop_toTopOf = "parent" />

        <ImageButton
            android:id = "@+id/btnDone"
            android:layout_width = "52dp"
            android:layout_height = "50dp"
            android:background = "@android:drawable/list_selector_background"
            android:src = "@drawable/ic_done"
            android:textColor = "@color/colorProjectTextWhite"
            app:layout_constraintEnd_toEndOf = "parent"
            app:layout_constraintStart_toEndOf = "@+id/edit_search"
            app:layout_constraintTop_toTopOf = "parent" />
    </android.support.constraint.ConstraintLayout>

    <android.support.v7.widget.RecyclerView
        android:background = "@color/colorBackgroundLight"
        android:id = "@+id/membersList"
        android:scrollbars = "vertical"
        android:layout_marginTop = "0dp"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        />
</LinearLayout>

А это мой класс MembersActivity.java.

public class MembersActivity extends AppCompatActivity {
    private static final int REQUEST_CODE_READ_CONTACTS = 1;
    private static boolean READ_CONTACTS_GRANTED = false;
    RecyclerView members;
    ArrayList<String> contacts = new ArrayList<String>();
    ArrayList<String> tell = new ArrayList<String>();
    UserAdapter adapter;
    User user;
   ArrayList<User> users = new ArrayList<>();
    ImageButton btnDone;
    StringBuilder stringBuilder = null;
    EditText editSearch;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_members);
        members = findViewById(R.id.membersList);
        btnDone = findViewById(R.id.btnDone);
        editSearch = findViewById(R.id.edit_search);
        int hasReadContactPermission = ContextCompat.checkSelfPermission(Objects.requireNonNull(this), Manifest.permission.READ_CONTACTS);
        if (hasReadContactPermission == PackageManager.PERMISSION_GRANTED) {
            READ_CONTACTS_GRANTED = true;

        } else {

            ActivityCompat.requestPermissions(Objects.requireNonNull(this), new
                    String[]{Manifest.permission.READ_CONTACTS}, REQUEST_CODE_READ_CONTACTS);

        } 
        if (READ_CONTACTS_GRANTED) {
            getContacts();
        }

        btnDone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                stringBuilder = new StringBuilder();
                int i=0;
                char ch = ',';
                do{
                    User user = adapter.checkedUsers.get(i);
                    if (i == adapter.checkedUsers.size()-1) ch = '.';
                    stringBuilder.append(user.getName() + ch);
                    if (i != adapter.checkedUsers.size() -1) {
                        stringBuilder.append("\n");
                    }
                    i++;

                } while (i < adapter.checkedUsers.size());
                if (adapter.checkedUsers.size() > 0) {
                    Intent intent = new Intent();
                    intent.putExtra("names", stringBuilder.toString());
                    setResult(RESULT_OK, intent);
                    finish();


                } else {
                    Toast.makeText(MembersActivity.this, "Пожалуйста, выберите друзей", Toast.LENGTH_LONG).show();

                }
            }
        });
        editSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                adapter.getFilter().filter(charSequence);
                return;

            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

    }

    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        switch (requestCode) {
            case REQUEST_CODE_READ_CONTACTS:
                if (grantResults.length > 0 && grantResults[0] ==
                        PackageManager.PERMISSION_GRANTED) {
                    READ_CONTACTS_GRANTED = true;

                }
        }
        if (READ_CONTACTS_GRANTED) {
            getContacts();
        }
        else {
            Toast.makeText(this, "Требуется установить разрешения", Toast.LENGTH_LONG).show();
        }
    }

    public void getContacts() {
        Uri CONTENT_URI = ContactsContract.Contacts.CONTENT_URI;
        String _ID = ContactsContract.Contacts._ID;
        String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME;
        String HAS_PHONE_NUMBER = ContactsContract.Contacts.HAS_PHONE_NUMBER;

        Uri PhoneCONTENT_URI =
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
        String Phone_CONTACT_ID =
                ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
        String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER;

        StringBuffer output = new StringBuffer();
        ContentResolver contentResolver = Objects.requireNonNull(this).getContentResolver();
        Cursor cursor = contentResolver.query(CONTENT_URI, null, null, null, null);

        if (cursor.getCount() > 0) {

            while (cursor.moveToNext()) {
                String contact_id = cursor.getString(cursor.getColumnIndex(_ID));
                String name = cursor.getString(cursor.getColumnIndex(DISPLAY_NAME));
                int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex(HAS_PHONE_NUMBER)));

                if (hasPhoneNumber > 0) {
                    contacts.add(name);

                    Cursor phoneCursor =
                            contentResolver.query(PhoneCONTENT_URI, null,
                                    Phone_CONTACT_ID + " = ?", new String[]{contact_id}, null);
                    while (phoneCursor.moveToNext()) {
                        String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
                        tell.add(phoneNumber);
                    }
                }
            }
        }

        if (tell.size() > contacts.size()) {
            for(int i=0; i <contacts.size(); i++) {
                user = new User(tell.get(i), contacts.get(i));
                users.add(user);
            }
        } else {
            for(int i=0; i < tell.size(); i++) {
                user = new User(tell.get(i), contacts.get(i));
                users.add(user);
            }
        }

        RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
        adapter = new UserAdapter(users, this);
        members.setLayoutManager(mLayoutManager);
        members.setItemAnimator(new DefaultItemAnimator());
        members.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
        members.setAdapter(adapter);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
    }


}

Пожалуйста, помогите мне решить эту проблему.

пожалуйста, опубликуйте полную трассировку стека исключения, она обычно содержит предыдущее исключение «вызвано», показывающее причину сбоя раздувания

marmor 26.11.2018 09:04

кроме того, являются ли radius_edit_text и ic_search обычными рисунками в формате png или это файлы xml?

marmor 26.11.2018 09:05
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
95
1

Ответы 1

Вам необходимо установить ширину и высоту вашего EditText в вашем файле макета, вы не можете установить эти свойства на 0dp. Если вы хотите установить это в соответствии с размером экрана, вы можете использовать layout_weight в своем xml.Здесь вы можете узнать об использовании layout_weight

Если вы используете constraintLayout в своем макете, вы можете увидеть эту ссылку. Дизайн адаптивного макета с макетом ограничений

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