Тот же onTouchListener не работает

У меня один и тот же код в двух разных действиях (с разными макетами XML и разными именами переменных и идентификаторами, конечно)

Это только изображение, соответствующее ширине / высоте родительского элемента с помощью onTouchListener, который запускает функцию на ощупь.

То же самое касается второго занятия. (Эти действия не имеют ничего общего друг с другом, кроме того, что начинают другого и убивают его сами.

ImageView wall;
TextView welcome;
Typeface tf;
Sound sound;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start);
    sound = new Sound(Start.this);

    welcome = (TextView) findViewById(R.id.welcome);
    wall = (ImageView) findViewById(R.id.wall);

    live();
}

private void live()
{
    wall.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            switch (event.getAction() & MotionEvent.ACTION_MASK) {

                case MotionEvent.ACTION_DOWN:
                    v.setPressed(true);

                     next(); //starts a new activity and kills self (this.finish())

                    break;
                default:
                    v.setPressed(false);
                    break;
            }

            return true;
        }

    });
}

А потом второе занятие

Sound sound;
ImageView ball;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next1);
    sound = new Sound(next1.this);

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

    ball.setEnabled(true);
    live();
}

private void live()
{

 //it's calling so far...

 //but the listener wont work
   ball.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            switch (event.getAction() & MotionEvent.ACTION_MASK) {

                case MotionEvent.ACTION_DOWN:
                    v.setPressed(true);

                    startFunction();

                    break;
                default:
                    v.setPressed(false);
                    break;
            }

            return true;
       }

    });
}

И вот поворот, ontouchlistsner или clicklistener или что-то еще работает хорошо в первом действии, но во втором не работает ни ontouch, ни onclick, но если я установил onclick в xml-файле, это работает, wtfisupwiththat...?

РЕДАКТИРОВАТЬ: мои XML-файлы. Они тоже почти одинаковые,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
tools:context=".Start">

<ImageView
    android:id="@+id/wall"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff3242"/>

</RelativeLayout>

И next1.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
tools:context=".next1">

<ImageView
    android:id="@+id/ball"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#333333"/>

</RelativeLayout>

0 ответов

Другие вопросы по тегам