#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 из нужной папки макета для правильного результата… Я этого не выбирал! 🙂