Как исправить активность, которая не отображается при запуске

Я создаю чат-приложение, в котором вы можете создавать группы. для создания групп я создал новую активность. он отображается в предварительном просмотре, но не отображается, когда я запускаю приложение и открываю действие. Я попробовал на другом телефоне, и появился только CircleImageView. но это OnClickListner не будет работать. нет ошибок при компиляции, логировании или отладке.

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

Я не знаю ошибки, поэтому вставляю файл CreateGroupActivity.java, а также файл activity_create_group.xml.

CreateGroupActivity.java:

package com.satyamedh.chitchatmessenger;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.theartofdev.edmodo.cropper.CropImage;
import com.theartofdev.edmodo.cropper.CropImageView;

import de.hdodenhof.circleimageview.CircleImageView;

public class CreateGroupActivity extends AppCompatActivity
{


    private CircleImageView circleImageView;
    private EditText editText;
    private Button buttonconf, buttoncanc;

    private final static int chosenProfileImage = 1;


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

        initializeFields();

        buttoncanc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent profileIntent = new Intent(CreateGroupActivity.this, MainActivity.class);
                startActivity(profileIntent);
            }
        });

        buttonconf.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (TextUtils.isEmpty(editText.getText())){
                    Toast.makeText(CreateGroupActivity.this, "Please enter text..", Toast.LENGTH_SHORT).show();
                }
            }
        });

        circleImageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent galleryIntent = new Intent();
                galleryIntent.setAction(Intent.ACTION_GET_CONTENT);
                galleryIntent.setType("image/*");
                startActivityForResult(galleryIntent, chosenProfileImage);
            }
        });

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);



        if (requestCode == chosenProfileImage && resultCode == RESULT_OK && data != null)
        {
            Uri imageUri = data.getData();

            CropImage
                    .activity()
                    .setGuidelines(CropImageView.Guidelines.ON)
                    .start(this);

        }

        if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE)
        {
            final CropImage.ActivityResult result = CropImage.getActivityResult(data);

            if (resultCode == RESULT_OK) {
                assert result != null;
                Uri resultUri = result.getUri();

                DatabaseReference rootref = FirebaseDatabase.getInstance().getReference();

                Intent settingsIntent = new Intent(CreateGroupActivity.this, chooseUserActivity.class);
                String key = rootref.push().getKey();
                settingsIntent.putExtra("groupKey", key);
                settingsIntent.putExtra("groupImage", resultUri);
                settingsIntent.putExtra("groupName", editText.getText().toString());
                startActivity(settingsIntent);

            }

        }


    }

    private void initializeFields()
    {


        MobileAds.initialize(this, "ca-app-pub-3127817354023186~6842500243");
        final AdView mAdView;

        mAdView = findViewById(R.id.my_adView_createGroup);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        mAdView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                // Code to be executed when an ad finishes loading.
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {
                // Code to be executed when an ad request fails.
            }

            @Override
            public void onAdOpened() {
                // Code to be executed when an ad opens an overlay that
                // covers the screen.
            }

            @Override
            public void onAdClicked() {



                // Code to be executed when the user clicks on an ad.
            }

            @Override
            public void onAdLeftApplication() {
                // Code to be executed when the user has left the app.
            }

            @Override
            public void onAdClosed() {
                // Code to be executed when the user is about to return
                // to the app after tapping on an ad.
            }
        });

        circleImageView = findViewById(R.id.create_group_image);
        editText = findViewById(R.id.create_group_name);
        buttonconf = findViewById(R.id.confirm_button);
        buttoncanc = findViewById(R.id.cancel_button);


    }
}

activity_create_group.xml:

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout 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"
    tools:context = ".CreateGroupActivity">

    <de.hdodenhof.circleimageview.CircleImageView
        android:layout_width = "100dp"
        android:layout_height = "100dp"
        android:layout_alignParentStart = "true"
        android:layout_alignParentTop = "true"
        android:layout_alignParentEnd = "true"
        android:layout_alignParentBottom = "true"
        android:layout_marginStart = "51dp"
        android:layout_marginTop = "87dp"
        android:layout_marginEnd = "259dp"
        android:layout_marginBottom = "551dp"
        android:src = "@drawable/profile_image"
        android:id = "@+id/create_group_image"/>

    <EditText
        android:layout_width = "250dp"
        android:layout_height = "50dp"
        android:layout_alignParentStart = "true"
        android:layout_alignParentTop = "true"
        android:layout_alignParentEnd = "true"
        android:layout_alignParentBottom = "true"
        android:layout_marginStart = "167dp"
        android:layout_marginTop = "88dp"
        android:layout_marginEnd = "4dp"
        android:layout_marginBottom = "596dp"
        android:background = "@drawable/inputs"
        android:id = "@+id/create_group_name"
        android:inputType = "text"
        android:hint = "Group name here"/>

    <Button
        android:id = "@+id/confirm_button"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_alignParentStart = "true"
        android:layout_alignParentTop = "true"
        android:layout_alignParentEnd = "true"
        android:layout_alignParentBottom = "true"
        android:layout_marginStart = "168dp"
        android:layout_marginTop = "141dp"
        android:layout_marginEnd = "156dp"
        android:layout_marginBottom = "542dp"
        android:text = "Confirm"
        android:background = "@drawable/buttons"/>

    <Button
        android:id = "@+id/cancel_button"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_alignParentStart = "true"
        android:layout_alignParentTop = "true"
        android:layout_alignParentEnd = "true"
        android:layout_alignParentBottom = "true"
        android:layout_marginStart = "263dp"
        android:layout_marginTop = "140dp"
        android:layout_marginEnd = "60dp"
        android:layout_marginBottom = "546dp"
        android:text = "Cancel"
        android:background = "@drawable/buttons"/>

    <com.google.android.gms.ads.AdView
        xmlns:ads = "http://schemas.android.com/apk/res-auto"
        android:id = "@+id/my_adView_createGroup"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_centerHorizontal = "true"
        android:layout_alignParentBottom = "true"
        ads:adSize = "SMART_BANNER"
        ads:adUnitId = "ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

Скриншот телефона Android (Redmi 2):

https://drive.google.com/file/d/18MMzLvcdIi8iLog1nR_NrJPcJf-NZG51/view?usp=sharing

Скриншот студии Android для ПК:

https://drive.google.com/file/d/1E3Suy967AS3aQS9TEkUlAh5kPjWr86u-/view?usp=sharing

Я новичок в stackoverflow, поэтому не могу прикреплять изображения. Прости.

ошибок тоже нет.

Добро пожаловать в stackoverflow, во-первых, лучше добавлять скриншоты в пост (есть возможность добавить фото в пост), а не вставлять внешнюю ссылку. Итак, вы определили свою деятельность в AndroidManifest? также как вы запускаете активность? и я не вижу никаких логов в методе onCreate, можете ли вы поставить какие-нибудь логи и посмотреть, появятся ли эти логи?

Atef H. 24.05.2019 05:23

@atef, там написано, что мне нужно 10 (что-то, я не помню) для вставки картинок

satyamedh 24.05.2019 09:10

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

Zoe stands with Ukraine 24.05.2019 12:20

Не могу, пишет что нужно 10 репутации для вставки изображений

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

Ответы 1

Ответ принят как подходящий

это нормально, потому что вы использовали так много значений выравнивания и атрибутов, которые сделали ваш макет нечувствительным, пожалуйста, используйте xml ниже и не забудьте добавить image:src и фон, который вы хотели

   <?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout 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"
    tools:context = ".CreateGroupActivity">

    <de.hdodenhof.circleimageview.CircleImageView
        android:layout_width = "100dp"
        android:layout_height = "100dp"
        android:layout_margin = "20dp"
        android:layout_alignParentStart = "true"
        android:layout_alignParentTop = "true"
        android:id = "@+id/create_group_image"/>

    <EditText
        android:layout_toRightOf = "@id/create_group_image"
        android:layout_width = "250dp"
        android:layout_marginTop = "20dp"
        android:layout_height = "wrap_content"
        android:id = "@+id/create_group_name"
        android:inputType = "text"
        android:hint = "Group name here"/>

    <Button
        android:layout_below = "@id/create_group_name"
        android:layout_toRightOf = "@id/create_group_image"
        android:id = "@+id/confirm_button"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:text = "Confirm"/>

    <Button
        android:layout_below = "@id/create_group_name"
        android:layout_toRightOf = "@id/confirm_button"
        android:id = "@+id/cancel_button"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"

        android:text = "Cancel"/>

    <com.google.android.gms.ads.AdView
        xmlns:ads = "http://schemas.android.com/apk/res-auto"
        android:id = "@+id/my_adView_createGroup"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_centerHorizontal = "true"
        android:layout_alignParentBottom = "true"
        ads:adSize = "SMART_BANNER"
        ads:adUnitId = "ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>

    </RelativeLayout>

Не могли бы вы объяснить, почему он не отвечает?

satyamedh 24.05.2019 09:12

но теперь он говорит Android resource linking failed

satyamedh 24.05.2019 09:39

исправил это, изменив compilesdk 26 на compilesdk 28 в модуле build.gradle: приложение

satyamedh 24.05.2019 09:49

добро пожаловать, пожалуйста, прочитайте здесь больше о том, как сделать пользовательский интерфейс отзывчивым: o7planning.org/en/10423/android-ui-layouts-tutorial

ismail alaoui 24.05.2019 15:59

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