Articles of contextmenu

如何使用XML文件创建Context Menu?

我正在使用XML文件为我的ListView创建上下文菜单。 (请参阅下文)。 我还想为此上下文菜单设置标题。 我阅读( http://www.mail-archive.com/android-developers@googlegroups.com/msg43062.html )我可以在onCreateContextMenu方法中使用menu.setHeaderTitle(myContextMenuTitle)。 但我需要在XML文件中设置它。 我怎么能做到这一点? 以下是onCreateContextMenu方法的代码,如果我做错了,请更正我。这是我的context_menu.xml文件: 这是我的onCreateContextMenu方法: @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_menu, menu); super.onCreateContextMenu(menu, v, menuInfo); } 这是我的onCreate方法: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // extras = getIntent().getExtras(); registerForContextMenu(getListView()); … }

getMenuInflater()方法Android上下文菜单创建中的未定义问题

我试图在片段内创建一个上下文菜单项。 但是我遇到了getMenuInflater()方法的问题。 它是未定义的。 我已经导入了所有必要的包。 谁能指出我在这里做错了什么? 这是我的代码: import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.view.MenuItem; public class FeaturedFragment extends Fragment { public FeaturedFragment() { } public static final String ARG_SECTION_NUMBER = “section_number”; @Override public View onCreateView(LayoutInflater inflater, ViewGroup […]

Android:单击上下文菜单

我有一个扩展ListActivity的Intent。 在填充列表适配器后的onCreate方法中,我使用registerForContextMenu(getListView()); 注册上下文菜单。 现在它正在工作,上下文菜单有其原始function; 一旦我点击并按住某个项目,就会打开上下文菜单。 我可以一键打开上下文菜单(无需按住列表)吗? 所有帮助表示赞赏。

禁用EditText上下文菜单

我正在为传统的蒙古语制作一个垂直的EditText 。 我已经通过在旋转的ViewGroup嵌入稍微修改过的EditText成功实现它。 我需要创建一个完全自定义的上下文菜单,因为系统不支持垂直文本,并且在旋转ViewGroup时也不会旋转。 所以我想完全禁用系统上下文菜单。 请注意,这与仅仅尝试禁用复制/粘贴/等的这些问题不同: 如何禁用从/到EditText的复制/粘贴 EditText:在文本选择处理程序单击事件上禁用粘贴/替换菜单popup窗口 如何在android EditText中禁用粘贴选项 Android:如何在Edittext中完全禁用复制和粘贴function 虽然我没有在模拟器中出现上下文菜单,但我将它出现在我的Android 5.0.2小米手机中。 我努力了: setCustomSelectionActionModeCallback “解决方案” setLongClickable(false); “解” onTouchEvent “解决方案” 我对hacks持开放态度,但我需要它能够在各种设备上持续工作。 Mark Murphy(一个Commons Guy)回复了另一个尝试做类似事情的用户的回复: 我怀疑,即使你拿出一个答案,它也无法在各种设备上运行。 设备制造商倾向于为EditText推出自己的“上下文菜单”,从而使开发人员尝试将项目添加到该上下文菜单中。 我的猜测是,试图阻止该上下文菜单会产生类似的结果。 我运气不好吗? 我现在唯一能想到的就是从头开始完全重写TextView和EditText (好吧,通过修改Android源代码)。 我知道其他人做了类似的事,但他的代码不是开源的。 在采取这一重大步骤之前,我想尝试在Stack Overflow上寻求更简单的解决方案。 更新:我一直在尝试修改过去两天的TextView源代码,看起来像是一个6个月的项目。 这是一大堆相互关联的课程。 我需要另一个解决方案,但我没有想法。 MVCE 这是我能想到的最简单的方法来重现问题。 我的自定义EditText没有必要。 布局有一个EditText ,它替换了默认项目Hello World的TextView 。 我将min API更改为11以避免处理已弃用的方法。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle […]

如何禁用Android中特定ListView项目的上下文菜单

我知道这个问题以前被问过,答复是重写onPrepareContextMenu()/ onCreateContextMenu()。 但我不明白,没有得到任何解决scheme。 请帮助我如何禁用特定的ListView项目的上下文菜单。

Fragment中的上下文菜单使用来自不同Fragment的ListView:registerForContextMenu(getListView())

我试图寻找解决scheme,但没有发现任何符合我的情况。 我有一个扩展FragmentActivity的MainActivity和多个ListFragments。 我使用PagerSlidingTabStrip库为slidetabs和ViewPager。 碎片没有XML布局,它们只是ListFragments,它返回一个ListView,所以不需要布局。 这是一个音板应用程序,长按列表项目,允许用户设置一个声音文件作为他们的铃声,通知或报警,或保存到SD卡。 现在,所有的Fragments都可以加载自己的数据。 一切似乎没问题,但是,当我在后台加载的Fragment上使用上下文菜单时,似乎是使用来自之前加载的第一个或上一个片段的Lis​​tView,创build它之前可见的那个片段。 我的意思是说,我的MainActivity开始,它加载FragmentA,并在后台FragmentB也预装。 在onActivityCreated方法中,对于这两个片段,它使用registerForContextMenu(getListView())。 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Data loading etc MyAdapter adapter = new MyAdapter(getActivity(), R.layout.data_row, data); setListAdapter(adapter); registerForContextMenu(getListView()); } 但似乎正在发生的是,FragmentB调用registerForContextMenu(getListView()),它似乎是采取当前活动的ListView,这是FragmentA的列表。 所以说,我select从上下文菜单中保存一个文件。 我长按FragmentB的第一项,但它试图保存FragmentA的第一项。 如果我只点击列表项,就会像期望的那样播放它自己的声音,但上下文菜单命令使用预载的时候可见的片段列表。 这是onCreateContextMenu。 请注意,此时它使用上下文菜单标题中的正确的项目标题。 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo; menu.setHeaderTitle(data.get(info.position).getDataName()); MenuInflater […]

Android:如何设置生成的contextMenu标题?

我创build一个如下所示的上下文菜单: @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if(v.getId() == R.id.ListView01) { getMenuInflater().inflate(R.menu.add_contextmenu, menu); } super.onCreateContextMenu(menu, v, menuInfo); } 我怎样才能设置一个生成的标题?

将相同的上下文菜单添加到多个活动

我想弄清楚如何在多个活动中包含常见的代码段。 更具体地说,我有一个上下文菜单,我想在几个活动中包括。 我看到了这一点,但只是不明白如何扩展到多个活动。 http://developer.android.com/guide/topics/ui/menus.html 我有这个设置为Menu.java public class Menu extends Activity{ // bottom menus public static final int Menu1 = 1; public static final int Menu2 = 2; public static final int Menu3 = 3; public static final int Menu4 = 4; public static final int Menu5 = 5; public static final int Menu6 = 6; […]

在Android上从TextView复制文本

我有一个ListView ,其中每个项目是一个TextView 。 我想要启用类似于EditText的长按行为,它显示默认的上下文菜单,诸如“全部select”,“全部剪切”,“全部复制”等。 有没有简单的方法来启用这个TextView ?

Android:单击上下文菜单

我有一个扩展ListActivity的意图。 在填充列表适配器后,我使用registerForContextMenu(getListView());我的onCreate方法registerForContextMenu(getListView()); 注册一个上下文菜单。 现在正在工作,上下文菜单有它的原始function, 一旦我点击并按住一个项目,上下文菜单打开。 我可以打开上下文菜单(不必按住列表)吗? 所有的帮助表示赞赏。