一起使用onTouchEvent和onclick事件

时间:2014-06-18 18:51:16

标签: java android onclick ontouchevent ontouch

我在onTouchEvent处于活动状态时无法启用按钮。在我的应用程序中,用户应按下屏幕上的任意位置以查看文本,并在按下屏幕时按下按钮。问题是当onTouchEvent处于活动状态时按钮不起作用。无论如何在onTouchEvent处于活动状态时启用按钮?

我的按钮和onToch代码看起来像这样。

 public void correctWord(){
    correct_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

                theWord.setText(((global_rules) getApplication()).NewWord(getApplicationContext()));

        }
    });
}


public boolean onTouchEvent(MotionEvent event){
    switch (event.getAction()){
        case MotionEvent.ACTION_DOWN:
            if(enableTouch) {
                holdToView.setVisibility(View.INVISIBLE);
                theWord.setVisibility(View.VISIBLE);
            }
            break;

        case MotionEvent.ACTION_MOVE:
            break;

        case MotionEvent.ACTION_UP:
            if(enableTouch) {
                holdToView.setVisibility(View.VISIBLE);
                theWord.setVisibility(View.INVISIBLE);
            }
            break;
    }
    return false;
}

编辑,添加了.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_1">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Rätt"
    android:id="@+id/correct_btn"
    style="@style/btn_style2"
    android:layout_alignTop="@+id/skip"
    android:layout_alignLeft="@+id/holdToView"
    android:layout_alignStart="@+id/holdToView" />


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text=""
    android:id="@+id/theWord"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:visibility="invisible"
    android:textStyle="bold"
    android:textSize="40dp"
    android:textColor="#ffffff" />

</RelativeLayout>

0 个答案:

没有答案