Приложение вылетает на эмуляторе при запуске - PullRequest
0 голосов
/ 28 ноября 2018

Я создаю приложение Android, в котором я использую 2 изображения.Если показанное изображение коснется, оно исчезнет, ​​и появится другое изображение.Но приложение crashing на момент запуска.

public class MainActivity extends AppCompatActivity {
boolean imageViewShowing=true;

public void fade(View view)
{
    Log.i("info","Image tapped");
    ImageView imageView = (ImageView)findViewById(R.id.imageView);
    ImageView imageView2 =(ImageView)findViewById(R.id.imageView2);
    if (imageViewShowing) {
        imageViewShowing = false;

        imageView.animate().alpha(0).setDuration(2000);
        imageView2.animate().alpha(1).setDuration(2000);
    }else
    {
        imageViewShowing = true;
        imageView2.animate().alpha(0).setDuration(2000);
        imageView.animate().alpha(1).setDuration(2000);
    }

}

Это изображение работает нормально

Простите за глупые вопросы.Я только начал. снимок экрана Logcat

Мой XML-код

Эта проблема создания изображения

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Возможно, вы получаете исключение нулевого указателя, потому что вы не инициализировали объект ImageView в методе onCreate.Вы изначально используете imageview для просмотра некоторого изображения, имеющего некоторый источник изображения, поэтому его нужно инициализировать с действием, а не каким-либо методом, который должен вызываться нажатием / нажатием.Вы просто должны поместить

 ImageView imageView=(ImageView)findViewById(R.id.imageView);

здесь

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

    ImageView imageView=(ImageView)findViewById(R.id.imageView);
    ImageView imageView2=(ImageView)findViewById(R.id.imageView2);

     imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            fade()
        }});        
    }

Метод исчезновения должен выглядеть как

public void fade()
{
    Log.i("info","Image tapped")
    if (imageViewShowing) {
        imageViewShowing = false;
        imageView.animate().alpha(0).setDuration(2000);
        imageView.setVisibility(View.GONE);
        imageView2.animate().alpha(1).setDuration(2000);
        imageView2.setVisibility(View.VISIBLE);
    }else
    {
        imageViewShowing = true;
        imageView2.animate().alpha(0).setDuration(2000);
        imageView2.setVisibility(View.GONE);
        imageView.animate().alpha(1).setDuration(2000);
        imageView.setVisibility(View.VISIBLE);
    }

}
0 голосов
/ 28 ноября 2018

В вашем ImageView вы добавили app:srcCompact, который дает вам ошибку.Измените его на android:src и повторите попытку.

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