# ImageView wird nicht angezeigt



## モストウォンテッド (6. Jan 2023)

Hallo ich habe folgendes Problem: Im Android Emulator wird mir die ImageView nicht angezeigt, ich weiß leider nicht warum. Der xml Code ist folgender:

```
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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/timerSeekBar"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:backgroundTint="#41000000"
    tools:context=".MainActivity">

    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="352dp"
        android:layout_height="28dp"
        android:layout_marginTop="40dp"
        android:layout_marginEnd="28dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="344dp"
        android:layout_height="519dp"
        android:layout_marginTop="120dp"
        android:layout_marginEnd="28dp"
        android:contentDescription="Egg"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@drawable/egg" />

    <TextView
        android:id="@+id/TimerTextView"
        android:layout_marginStart="108dp"
        android:layout_marginBottom="280dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0:30"
        android:textAlignment="center"
        android:textSize="96sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
    />

    <Button
        android:id="@+id/button"
        android:layout_width="193dp"
        android:layout_height="57dp"
        android:layout_marginEnd="108dp"
        android:layout_marginBottom="48dp"
        android:backgroundTint="@color/material_dynamic_neutral30"
        android:onClick="controlTimer"
        android:text="Start"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
```

Mir wird alles angezeigt außer die ImageView. Ich dachte erst es läge an dem Layout und habe es daraufhin mit einem LinearLayout probiert, dann wurde mir jedoch nur noch die Seekbar angezeigt und nichts anderes mehr.
Hier auch noch der Java Code:


```
package com.example.eggclock;

import androidx.appcompat.app.AppCompatActivity;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.TextView;

import java.util.Timer;
import java.util.Timer.*;

public class MainActivity extends AppCompatActivity {
    SeekBar timerSeek;
    TextView timedis;
    Boolean counterIsActive = false;
    Button button;
    Timer time;
    CountDownTimer countDownTimer;

    public void updatetTimer(int secondsleft){
        int minutes = (int) secondsleft / 60;
        int secs = secondsleft - minutes*60;
        String secondString = Integer.toString(secs);
        if(secs < 10){
            secondString = "0" + secs;
        }
        timedis.setText(minutes + ":" + secondString);

    }
    public void reset(){
        timedis.setText("0:30");
        timerSeek.setProgress(30);
        countDownTimer.cancel();
        button.setText("Start");
        counterIsActive = false;
    }

    public void controlTimer(View v){
        if(!counterIsActive) {
            button.setText("Reset");
            counterIsActive = true;
            timerSeek.setEnabled(false);
            countDownTimer = new CountDownTimer(timerSeek.getProgress() * 1000 + 100, 1000) {

                @Override
                public void onTick(long millisUntilFinished) {
                    updatetTimer((int) millisUntilFinished / 1000);
                }

                @Override
                public void onFinish() {
                    timedis.setText("0:00");
                    MediaPlayer mplayer = MediaPlayer.create(getApplicationContext(), R.raw.airhorn);
                    mplayer.start();
                    timerSeek.setEnabled(true);
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    reset();
                }
            }.start();
        }
        else{
            reset();
        }
    }

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

        timerSeek = findViewById(R.id.seekBar);
        timedis = (TextView) findViewById(R.id.TimerTextView);
        button = findViewById(R.id.button);
        time = new Timer();
        ImageView img = findViewById(R.id.imageView);

        System.out.println(img.isShown());


        timerSeek.setMax(600);
        timerSeek.setProgress(30);

        timerSeek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                updatetTimer(progress);

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

    }
}
```




Ach ja falls es wichtig ist hier wie der xml Code für das LinearLayout aussah

```
<?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"
    tools:context=".MainActivity">
    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="352dp"
        android:layout_height="28dp"
        android:layout_marginTop="40dp"
        android:layout_marginEnd="28dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="344dp"
        android:layout_height="519dp"
        android:layout_marginTop="120dp"
        android:layout_marginEnd="28dp"
        android:contentDescription="Egg"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@drawable/egg" />

    <TextView
        android:id="@+id/TimerTextView"
        android:layout_marginStart="108dp"
        android:layout_marginBottom="280dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0:30"
        android:textAlignment="center"
        android:textSize="96sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
    />

    <Button
        android:id="@+id/button"
        android:layout_width="193dp"
        android:layout_height="57dp"
        android:layout_marginEnd="108dp"
        android:layout_marginBottom="48dp"
        android:backgroundTint="@color/material_dynamic_neutral30"
        android:onClick="controlTimer"
        android:text="Start"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />
</LinearLayout>
```


----------



## Jw456 (6. Jan 2023)

Hallo

Zum Costrain Layout hier sollten width und height match_parent sein ist bei dir nicht so.
In dem Linear Layout ist es so.

Ist das Drawable auch vorhanden in dem Ordner?
Wird es im Layout Editor angezeigt?
Wo setzt du denn im Code dein ImagesView?

Wenn das diese Ziele sein soll“ System.out.println(img.isShown());“ kein Wunder in Android gibt es keine Konsole.


----------



## モストウォンテッド (6. Jan 2023)

Jw456 hat gesagt.:


> Hallo
> 
> Zum Costrain Layout hier sollten width und height match_parent sein ist bei dir nicht so.
> In dem Linear Layout ist es so.
> ...


Also ja das Drawable ist vorhanden, ja es wird im Editor angezeigt und eigentlich soll es auch beim Ausführen der App nur angezeigt werden mehr nicht.

Ich habe außerdem das mit match_parent ausprobiert, aber es änder nichts an dem Problem

Hier der jetzt aktuelle Code:

```
<ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="120dp"
        android:layout_marginEnd="28dp"
        android:contentDescription="Egg"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@drawable/egg" />
```


----------



## Jw456 (6. Jan 2023)

```
tools:srcCompat="@drawable/egg"
```
ändern zu

```
app:srcCompat="@drawable/ic_launcher_background"
oder
app:srcCompat="@drawable/egg"
```

PS Edit : dein Button past auch nicht da stürzt deine App ab


----------



## モストウォンテッド (6. Jan 2023)

Jw456 hat gesagt.:


> ```
> tools:srcCompat="@drawable/egg"
> ```
> ändern zu
> ...


Jetzt hats funktioniert. Danke!


----------

