如何为滚动视图注册上下文菜单?

时间:2012-02-01 22:28:57

标签: android

我有一个像这样的android loyout:

<ScrollView
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:id="@+id/scrollview">
       <TextView
           android:id="@+id/text"
           android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
 </ScrollView>

如何在用户长按滚动视图中的任何位置时注册上下文菜单以便弹出?

我试过找到scrollview并注册上下文菜单:

ScrollView scrollView = findViewById(R.id.scrollview);
registerForContextMenu(scrollView);

但事实并非如此,我没有看到任何上下文菜单弹出。唯一可行的方法是,如果我为上下文菜单注册我的文本视图。

但这可能会导致糟糕的体验,因为我的文本视图有时可能很短(1-2行/ 1-2个单词),有时可能很长(多个句子)。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

一些想法:

将滚动视图设置为可长按(默认情况下可能为false,不确定)

scrollView.setLongClickable(true);

如果这不起作用,请设置自己的OnLongClickListener,并在其中手动调用ScrollView的showContextMenu方法。