だから私がやろうとしているのは、TextViewをクリックできるようにすることです。ScrollView 内に TextView があり、画面をタップするとイベントが発生するようにしようとしています。現在、TextView をタップすると、イベントが発生します。ただし、問題は次のとおりです。テキストが 1 行しかない場合、onTouch を検出できるようにするには、そのテキスト行をクリックする必要があります。TextView を拡張して、画面の余白をカバーしたいと考えています (画面の下部に 2 つのボタンがあります)。実際のジェスチャー コントロールを使用する際の問題は、画面上のボタンをクリックしたときにも検出されるため、シングル タップでは役に立たないことです。私はこれを理解しようとしてきましたが、何らかの理由でうまくいきません。これが私のコードです。
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.close:
finish();
break;
case R.id.flashcard:
if(tv.getText().equals(myCursor.getString(iFront))) {
tv.setText(myCursor.getString(iBack));
break;
}
tv.setText(myCursor.getString(iFront));
break;
case R.id.add_new:
Intent list = new Intent("com.example.flashcards.ADD_FLASHCARD");
startActivity(list);
break;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollable"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight=".1"
android:gravity="center">
<TextView
android:id="@+id/flashcard"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:scrollbars="vertical"
android:textSize="20dp" />
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/add_new"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.55"
android:text="Add New" />
<Button
android:id="@+id/close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.55"
android:text="close" />
</LinearLayout>
</LinearLayout>