我有一个活动,其上有按钮。当我点击按钮时,按钮的文字会改变。我正在添加一个分享菜单,以与其他应用程序分享按钮的新值。每当我尝试访问onCreateOptionsMenu中按钮的文本值,我都会得到原始值而不是新值。在活动中获取布局元素
如何访问新值?
我有一个活动,其上有按钮。当我点击按钮时,按钮的文字会改变。我正在添加一个分享菜单,以与其他应用程序分享按钮的新值。每当我尝试访问onCreateOptionsMenu中按钮的文本值,我都会得到原始值而不是新值。在活动中获取布局元素
如何访问新值?
onCreateOptionsMenu()
在菜单第一次创建时调用。那时,按钮中的文字就是原文。因此,每次单击按钮并更改文字时,应该拨打invalidateOptionsMenu();
。 See this。
是否要将变量分享给其他应用程序?
您可以在意向或共享首选项中使用putExtra。
尝试此主题How to send data from one application to other application in android?
'首先调用onCreate方法,然后调用onCreateOptionsMenu。'基本上你得到的是原始值,因为在调用onCreateOptionsMenu时,值还没有改变。尝试在更改值后调用invalidateOptionsMenu();'这将导致onCreateOptionsMenu被再次调用。 –