当我滚动EditText
以查看其内容时,如果它太长,则会触发其click事件。我该如何预防? EditText是不可编辑的。
这是我的activity
:
public class MainActivity : AppCompatActivity, View.IOnTouchListener
{
EditText et;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
et = FindViewById<EditText>(Resource.Id.editText1);
et.SetOnTouchListener(this);
et.Click += delegate { this.OnClicking(); };
}
private void OnClicking()
{
//Show alert dialog
}
public bool OnTouch(View v, MotionEvent e)
{
v.OnTouchEvent(e);
var imm = (Android.Views.InputMethods.InputMethodManager)v.Context.GetSystemService("input_method");
imm?.HideSoftInputFromWindow(v.WindowToken, Android.Views.InputMethods.HideSoftInputFlags.None);
return true;
}
}
这是我的axml
文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:text="Very long text Very long text Very long text Very long text Very long text "
android:layout_width="300dp"
android:focusable="false"
android:clickable="true"
android:singleLine="true"
android:layout_height="wrap_content"
android:minWidth="25px"
android:minHeight="25px"
android:id="@+id/editText1" />
</LinearLayout>