Изменения activity xml не отображаются на моем устройстве при запуске приложения

#java #android #xml #android-layout

#java #Android #xml #android-макет

Вопрос:

Я новичок в разработке Android, и у меня есть унаследованный проект. Это работает довольно хорошо, но у меня есть досадная проблема с этим. Если я что-то изменил в своем activity xml, изменения не отображаются на моем устройстве при запуске приложения. Они отображаются только на вкладке Design xml.

Мои изменения:

  • Перезаписываю свойство text текстового представления, но новый текст не отображается…
  • Добавление новой кнопки (button5), но не отображается… (Более старая / унаследованная кнопка (button4) отображается соответствующим образом)

Вот небольшой фрагмент моего XML-кода:

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

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
           

        <androidx.constraintlayout.widget.Guideline
            android:id="@ id/guideline5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintGuide_percent="0.5" />

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@ id/cl_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="@drawable/linearlayout_background"
            android:padding="10dp"
            app:layout_constraintEnd_toStartOf="@ id/guideline5"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@ id/cl_1">

            <TextView
                android:id="@ id/tv_kontakt1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:gravity="center"
                android:text="Kontakt 1"
                android:textAllCaps="true"
                android:textSize="20dp"
                android:textStyle="bold"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="@ id/et_k1_nev"
                app:layout_constraintTop_toTopOf="parent" />

            <EditText
                android:id="@ id/et_k1_nev"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_below="@ id/tv_kontakt1"
                android:layout_marginTop="8dp"
                android:ems="10"
                android:hint="Név"
                android:inputType="textPersonName"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@ id/tv_kontakt1" />  
           
        </androidx.constraintlayout.widget.ConstraintLayout>

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@ id/cl_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="@drawable/linearlayout_background"
            android:padding="10dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@ id/cl_2"
            app:layout_constraintTop_toBottomOf="@ id/cl_1">

            <TextView
                android:id="@ id/tv_kontakt2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:gravity="center"
                android:text="Kontakt 2"
                android:textAllCaps="true"
                android:textSize="20dp"
                android:textStyle="bold"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <EditText
                android:id="@ id/et_k2_nev"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_below="@ id/tv_kontakt2"
                android:layout_marginTop="8dp"
                android:ems="10"
                android:hint="Név"
                android:inputType="textPersonName"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@ id/tv_kontakt2" />  
            

        </androidx.constraintlayout.widget.ConstraintLayout>   
        

        <Button
            android:id="@ id/button4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            android:layout_marginEnd="8dp"
            android:onClick="CRM_gombok_onClick"
            android:text="OK"
            android:textSize="10sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="@ id/guideline5"
            app:layout_constraintTop_toBottomOf="@ id/button2" />

        <Button
            android:id="@ id/button5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            android:layout_marginEnd="8dp"
            android:onClick="CRM_gombok_onClick"
            android:text="Exit"
            android:textSize="10sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@ id/guideline5"
            app:layout_constraintTop_toBottomOf="@ id/button4" />   

    </androidx.constraintlayout.widget.ConstraintLayout>

</ScrollView>
  

Вот связанная часть моего кода Java:

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

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        felhasznalonev = extras.getString("felhasznalonev");
        kivalasztottPartner = (Partner) extras.getSerializable("kivalasztottPartner");
    }

    db = new DatabaseHelper(getApplicationContext());

    VEVO_INFO vevo_info = db.getVEVO_INFO(kivalasztottPartner);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
                Manifest.permission.ACCESS_COARSE_LOCATION}, 11);
    }
    
    locationManager = (LocationManager) CrmActivity.this.getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setPowerRequirement(Criteria.POWER_HIGH);
    criteria.setAltitudeRequired(false);
    criteria.setSpeedRequired(false);
    criteria.setCostAllowed(true);
    criteria.setBearingRequired(false);

    criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
    criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH);

    provider = locationManager.getBestProvider(criteria, false);

    initViews();
    fillViewsWithKnownDatas(vevo_info);
}

private void initViews() {        
    et_k1_nev = findViewById(R.id.et_k1_nev);       
    et_k2_nev = findViewById(R.id.et_k2_nev);     
}

private void fillViewsWithKnownDatas(VEVO_INFO vevo_info) {
    if(!vevo_info.getK1_NEV().isEmpty()){
        et_k1_nev.setText(vevo_info.getK1_NEV());
    }        
    if(!vevo_info.getK2_NEV().isEmpty()){
        et_k2_nev.setText(vevo_info.getK2_NEV());
    }        
}
  

Комментарии:

1. Что вы имеете в виду? Вы хотите, чтобы выполняемые вами изменения отображались на устройстве в реальном времени? Это не так, как это работает, когда вы вносите изменения, вам нужно снова создать и запустить приложение

2. @DanBaruch Да, я знаю, что изменения не видны во время выполнения. После каждого изменения я снова запускаю приложение с Android Studio. Я пытался удалить предыдущую версию приложения со своего устройства и запустить снова, но изменения не отображаются.

Ответ №1:

Это было глупое недоразумение. Решение очень простое, просто выберите правильный xml из нужной папки макета для правильного результата… Я этого не выбирал! 🙂