0

我在两个不同的活动中有完全相同的代码(当然有不同的 xml 布局和不同的变量名和 id)

它只是一个将父宽度/高度与 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 都不起作用,但如果我在 xml 文件中设置 onclick,它可以工作,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>
4

0 回答 0