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>