2 наложенных поля EditText, появляющиеся независимо - PullRequest
0 голосов
/ 29 мая 2018

У меня проблема с макетом моего приложения.У меня есть 2 фрагмента, которые должны быть отображены в деятельности.Он отлично работает, но в «Макете» кто-то отображает EditText дважды, а также друг за другом.Вы можете видеть, что намек на EditText темнее, и как только я что-то наберу в TextEdit, я вижу другой EditText, независимо видимый на заднем плане.Также TextView и Switch отображаются дважды, как вы можете видеть из темноты внешнего вида:

Screenshot of the glitch

Файлы макетов: activity_main.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:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".QuickSteuerActivity">


    <fragment
        android:id="@+id/calculation_fragment"
        android:name="de.immozukunft.quicksteuer.CalculationFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        />

    <fragment
        android:id="@+id/settings_overview_fragment"
        android:name="de.immozukunft.quicksteuer.SettingsFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        /> </LinearLayout>

frag_calculation.xml (это место, где находится EditText, Switch и т.д.)1019 * (2.Fragment)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:id="@+id/fragment_settings_overview"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/current_settings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:padding="10dp"
            android:text="@string/overview_settings"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>

</FrameLayout>

Я также могу предоставить Java-файлы при необходимости или любые дополнительные файлы.Я просто не хотел раздувать пост.

Если у кого-нибудь есть какие-либо дополнительные советы (стиль кодирования и т. Д.), Пожалуйста, дайте мне знать, я относительно новичок в программировании на Android:)

спасибо заранее

THE-E

РЕДАКТИРОВАТЬ:

Я думаю, что я испортил макет с менеджером фрагментов.Но я не уверен.Потому что теперь я вижу даже какой-то PreferenceFragment.

onCreate () Действия:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); //Layout
    manager = getSupportFragmentManager(); //Fragment-Manager

    CalculationFragment calculationFragment = new CalculationFragment(); //create calculation fragment
    SettingsOverviewFragment settingsOverviewFragment = new SettingsOverviewFragment(); //create settings overview fragment

    calculationFragment.setArguments(getIntent().getExtras()); //I don't know what happens here
    settingsOverviewFragment.setArguments(getIntent().getExtras()); //I don't know what happens here either

    FragmentTransaction transaction = manager.beginTransaction();
    transaction.add(R.id.calculation_fragment, calculationFragment); //add calculation fragment to the fragment transaction
    transaction.add(R.id.settings_overview_fragment, settingsOverviewFragment); //add settings overview fragment to the fragment transaction
    transaction.commit(); //commit the transaction


}

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Я использовал Hint во втором тексте и TEXT в первом

android:hint="@string/turnover_tax"

Для отображения text смело используйте Hint вместо Netscape

android:hint="Your String"
android:text="Your String"

Я использовал Hint во втором тексте и TEXT в первом

android:hint="@string/turnover_tax"

Для отображения text смело используйте Hint вместо Netscape

android:hint="Your String"
android:text="Your String"

Использование Hint означает подсказку, которая должна быть записана в EditText Когда вы набираете Netscape в Netscape EditText, встроенная сетка появится в EditText и может быть установлена ​​илиизменено Но когда вы напишите подсказку, она исчезнет, ​​как только вы начнете набирать EditText, в котором она содержится

0 голосов
/ 29 мая 2018

Я нашел свою ошибку.Я добавил в onCreate основной Деятельности Фрагмент поверх уже установленного Фрагмента, используя FragmentManager.Фрагмент уже был установлен в макете (сам по себе, поэтому мне не нужно использовать FragmentManager ( frag_calculation.xml ).

Все, что мне нужно было сделать, это установить макети я закончил.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); //Layout
}

это был мой метод onCreate () -

спасибо за вашу помощь! :)) 1010 *

0 голосов
/ 29 мая 2018

Изменить высоту и ширину обоих фрагментов на wrap_content и посмотреть, работает ли он у вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...