Android - 自定义视图不接受长时间点击

时间:2015-01-25 22:09:30

标签: android view

我正在尝试让我的自定义视图接受长时间点击,但它无法正常工作。

有什么想法吗?

我查看了其他有类似问题但没有找到任何解决方案的帖子。

谢谢,

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<com.examples.danilofernandes.housemap.ViewForLayout
    android:id="@+id/layout"
    android:layout_width="100px"
    android:layout_height="100px" />

<Button
    android:id="@+id/button"
    android:text="hello"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/layout"/>


</RelativeLayout>

观点:

public class ViewForLayout extends View {

...

public ViewForLayout(final Context context, AttributeSet attrs) {
    super(context, attrs);

    setLongClickable(true);
    setOnLongClickListener(new MyLongClickListenerClass());

    ....

}

public class MyLongClickListenerClass implements OnLongClickListener{

    @Override
    public boolean onLongClick(View v) {

        Toast.makeText(context, "I'm in", Toast.LENGTH_SHORT).show();

        return true;

    }

}

}

1 个答案:

答案 0 :(得分:0)

将其更改为:

    public ViewForLayout(final Context context, AttributeSet attrs) {
        super(context, attrs);

        setLongClickable(true);
        setOnLongClickListener(new onLongClickListener(){

  @Override
    public boolean onLongClick(View v) {

        Toast.makeText(context, "I'm in", Toast.LENGTH_SHORT).show();

        return true;

    }

};);

        ....

}

(包围可能关闭我在网站上做了)